|
Daraja HTTP Framework 3.4.0-SNAPSHOT
HTTP server framework for Object Pascal
|
The context handler class used by applications. More...
Public Member Functions | |
| TdjWebComponentHolder | Add (TdjWebComponentClass ComponentClass, const string UrlPattern) |
| Add a Web Component. | |
| TdjWebFilterHolder | Add (TdjWebFilterClass FilterClass, const string UrlPattern) |
| Add a Web Filter, specifying a WebFilter class. | |
| AddHandler (const IHandler Handler) | |
| Add a handler to the container. | |
| TdjWebComponentHolder | AddWebComponent (TdjWebComponentClass ComponentClass, const string UrlPattern) |
| Add a Web Component. | |
| TdjWebFilterHolder | AddWebFilter (TdjWebFilterClass FilterClass, const string UrlPattern) |
| Add a Web Filter, specifying a WebFilter class. | |
| IContext | GetCurrentContext () |
| The internal IContext field. | |
| RemoveHandler (const IHandler Handler) | |
| SetInitParameter (const string Key, const string Value) | |
| Set initialization parameter. | |
Public Attributes | |
| TStrings | ConnectorNames |
| string | ContextPath |
| IHandler | ErrorHandler |
| Optional handler invoked, in place of the framework's default generic 500 response, when a Web Component or Web Filter registered in this context raises an unhandled exception. | |
| IHandler | Handler |
Protected Member Functions | |
| Boolean | ContextMatches (const string ConnectorName, const string Target) |
| Check if the Document matches this context. | |
| DoHandle (const string Target, TdjServerContext Context, TdjRequest Request, TdjResponse Response) | |
| DoStart () | |
| Start the handler. | |
| DoStop () | |
| Stop the handler. | |
| TIdHTTPSession | GetSession (TdjServerContext Context, TdjRequest Request, TdjResponse Response, const Boolean Create) |
| Get a HTTP session. | |
| Handle (const string Target, TdjServerContext Context, TdjRequest Request, TdjResponse Response) | |
| SetStrictStart (const Boolean Value) | |
| string | ToConnectorName (TdjServerContext Context) |
| Creates connector name in the form 'host:port'. | |
The context handler class used by applications.
It is currently a straight alias of TdjWebComponentContextHandler, kept as the documented public name and an extension point for web-application specific behaviour.
|
inherited |
Add a Web Component.
| ComponentClass | WebComponent class |
| UrlPattern | path specification |
| EDarajaMappingException | if the Web Component can not be added |
References TdjWebComponentContextHandler().
Referenced by TdjWebComponentContextHandler(), ~TdjWebComponentContextHandler(), and AddWebComponent().
|
inherited |
Add a Web Filter, specifying a WebFilter class.
| FilterClass | WebFilter class |
| UrlPattern | path specification |
| Exception | if the WebFilter can not be added |
References TdjWebComponentContextHandler().
|
inherited |
Add a handler to the container.
This implementation of AddHandler calls SetHandler with the passed handler. If this HandlerWrapper had a previous wrapped handler, then it is passed to a call to AddHandler on the passed handler.
| Handler | the handler to be added |
Referenced by TdjServer::Add(), TdjWebComponentContextHandler::AddWebFilter(), and GetSession().
|
inherited |
Add a Web Component.
Ownership: the returned holder belongs to the context. Use it only for further configuration (init parameters etc.); do not free it or keep it past the lifetime of the context.
| ComponentClass | WebComponent class |
| UrlPattern | path specification |
| EDarajaMappingException | if the Web Component can not be added |
References Add().
|
inherited |
Add a Web Filter, specifying a WebFilter class.
Ownership: the returned holder belongs to the context. Use it only for further configuration; do not free it or keep it past the lifetime of the context. If the filter cannot be added the holder is freed before the exception propagates.
| FilterClass | WebFilter class |
| UrlPattern | path specification |
| Exception | if the WebFilter can not be added |
References TdjHandlerWrapper::AddHandler().
|
protectedinherited |
Check if the Document matches this context.
A named context matches both its bare path (no trailing slash, e.g. "/app" for a context registered as "app") and any path below it ("/app/...") – the same exact-match-or-prefix-plus-slash rule used by the Servlet spec for request path matching, and already mirrored by TdjPathMap for "/foo/*" patterns matching bare "/foo". See #544.
| ConnectorName | the connector name (like 'host:port' |
| Target | the target URL document |
|
protectedinherited |
| Target | Request target |
| Context | HTTP server context |
| Request | HTTP request |
| Response | HTTP response |
|
protectedinherited |
Start the handler.
|
protectedinherited |
Stop the handler.
|
protectedinherited |
Get a HTTP session.
References AddHandler(), and Handler.
|
protectedinherited |
|
inherited |
|
inherited |
Set initialization parameter.
| Key | init parameter name (case-sensitive) |
| Value | init parameter value |
| EDarajaConfigException | if the key is already set |
|
protectedinherited |
|
protectedinherited |
Creates connector name in the form 'host:port'.
|
inherited |
|
inherited |
|
inherited |
Optional handler invoked, in place of the framework's default generic 500 response, when a Web Component or Web Filter registered in this context raises an unhandled exception.
The handler receives the same (Target, Context, Request, Response) as any other IHandler; before it is called, Context (a TdjServerContext) carries LastErrorStatusCode/LastErrorExceptionClass/ LastErrorExceptionMessage describing the failure, so the handler can tailor its response. It is fully responsible for the response – Response.ResponseNo already defaults to 500, but the handler may change it.
If the handler itself raises, or none is set, the framework's default generic 500 response (introduced in #520/#523) is used instead.
|
inherited |
Referenced by DoStart(), and GetSession().