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;
Inheritance¶
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 |
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 |