|
Daraja HTTP Framework 3.4.0-SNAPSHOT
HTTP server framework for Object Pascal
|
Context handler. More...
Public Member Functions | |
| TdjContextHandler (const string ContextPath) | |
| Create a ContextHandler. | |
| ~TdjContextHandler () | |
| Destructor. | |
| AddHandler (const IHandler Handler) | |
| Add a handler to the container. | |
| 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. | |
| 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) | |
| string | ToConnectorName (TdjServerContext Context) |
| Creates connector name in the form 'host:port'. | |
Context handler.
| TdjContextHandler::TdjContextHandler | ( | const string | ContextPath | ) |
Create a ContextHandler.
| TdjContextHandler::~TdjContextHandler | ( | ) |
Destructor.
|
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().
|
protected |
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 |
|
protected |
Start the handler.
|
protected |
Stop the handler.
|
protectedinherited |
Get a HTTP session.
References AddHandler(), and Handler.
|
protected |
|
inherited |
| TdjContextHandler::SetInitParameter | ( | const string | Key, |
| const string | Value ) |
Set initialization parameter.
| Key | init parameter name (case-sensitive) |
| Value | init parameter value |
| EDarajaConfigException | if the key is already set |
|
protected |
Creates connector name in the form 'host:port'.
| TStrings TdjContextHandler::ConnectorNames |
| string TdjContextHandler::ContextPath |
| IHandler TdjContextHandler::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.
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().