Skip to content

THTTPRouter

HTTP request router class

Declaration

Source position: httproute.pp line 201

type

  THTTPRouter = class(TComponent)
  public
    constructor Create;
    destructor Destroy;
    function FindDefaultRoute : THTTPRoute;
    procedure DeleteRoute(AIndex: Integer);
    procedure DeleteRoute(ARoute: THTTPRoute);
    procedure DeleteRouteByID;
    class function SanitizeRoute : string;
    class function Service : THTTPRouter;
    class function ServiceClass : THTTPRouterClass;
    class procedure SetServiceClass;
    class function StringToRouteMethod : TRouteMethod;
    procedure RegisterInterceptor;
    procedure UnRegisterInterceptor;
    function RegisterRoute(const APattern: string; AEvent: TRouteEvent; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AMethod: TRouteMethod; 
                      AEvent: TRouteEvent; IsDefault: Boolean=False)
                       : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; 
                      const AIntf: IRouteInterface; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AMethod: TRouteMethod; 
                      const AIntf: IRouteInterface; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; 
                      const AObjectClass: TRouteObjectClass; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AMethod: TRouteMethod; 
                      const AobjectClass: TRouteObjectClass; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AData: Pointer; 
                      ACallBack: TRouteCallBackEx; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AData: Pointer; 
                      AMethod: TRouteMethod; 
                      ACallBack: TRouteCallBackEx; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; 
                      ACallBack: TRouteCallBack; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function RegisterRoute(const APattern: string; AMethod: TRouteMethod; 
                      ACallBack: TRouteCallBack; 
                      IsDefault: Boolean=False) : THTTPRoute; overload;
    function FindHTTPRoute : THTTPRoute;
    function GetHTTPRoute : THTTPRoute;
    procedure RouteRequest;
    function MoveRouteBeforeDefault : Boolean;
    function MoveRouteBefore : Boolean;
    property Routes[AIndex : Integer]: THTTPRoute; {r}
    property RouteCount: Integer; {r}
    property BeforeRequest: THTTPRouteRequestEvent; {rw}
    property AfterRequest: THTTPRouteRequestEvent; {rw}
    property RouteOptions: TRouteOptions; {rw}
  end;

Description

THTTPRouter provides HTTP request routing functionality for web applications. It manages a collection of routes and matches incoming HTTP requests to appropriate handlers based on URL patterns and HTTP methods.

Properties

Member Visibility Description
AfterRequest public Event triggered after processing requests
BeforeRequest public Event triggered before processing requests
RouteCount read only public Returns the number of registered routes
RouteOptions public Global options for route matching
Routes read only public Provides indexed access to routes
See all Properties

Methods

Member Visibility Description
Create public Creates a new HTTP router instance
DeleteRoute public Removes a route from the collection
DeleteRouteByID public Removes a route by its ID
Destroy public Destroys the HTTP router instance
FindDefaultRoute public Finds the default route for a method
FindHTTPRoute public Finds a route matching path and method
GetHTTPRoute public Gets the best matching route for path and method
MoveRouteBefore public Moves one route before another
MoveRouteBeforeDefault public Moves route before default routes
RegisterInterceptor public Registers a request interceptor
RegisterRoute public Registers a new route with the router
RouteRequest public Routes an HTTP request to appropriate handler
SanitizeRoute public Sanitizes a route path string
Service public Returns the global router service instance
ServiceClass public Returns the router service class
SetServiceClass public Sets the router service class
StringToRouteMethod public Converts string to route method enumeration
UnRegisterInterceptor public Removes a request interceptor
See all Methods