From Overbyte
Jump to navigation Jump to search

Main page -> ICS component reference -> THttpAppSrv


unit OverbyteIcsHttpAppServer
inheritance THttpAppSrv -> THttpServer -> TComponent

THttpAppSrv is implementing the core of an HTTP application server. It is used to build powerful and large web applications with dynamic pages. See the Tutorial for a step by step explanation of the component use.


Object inspector properties

Addr Binds the server to a specific IP-address and only receives request for that IP+Port.
AuthDigestMethod Select the method to be used for digest authentication.
AuthDigestNonceLifeTimeMin Life time for digest nonce.
AuthRealm Name space for authentication.
AuthTypes Allowed authentications methods.
DefaultDoc Name of the default document.
DocDir Path name for the root directory where documents are stored.
IcsLogger Reference to the TIcsLgger component.
KeepAliveTimeSec Keep alive time expressed in seconds.
LingerOnOff How linger must be done. This affect the way sockets are closed.
LingerTimeout How long should the socket linger when closing.
ListenBackog How many connections can be queued by the OS before refusing new connections.
MaxClients Maximum number of simultaneous client accepted. Use 0 if not limit desired.
MaxRequestsKeepAlive MaxRequestsKeepAlive.
Name Component name.
Options Affect how the component is operating.
Port TCP port number the component has to listen to.
SessionTimeout Time in second for session expiration.
Tag Tag.
TemplateDir Path where the component search for dynamic pages templates.

Runtime properties

ClientCount Number of currently connected clients.
Client Array of connected clients. Index is from 0 to ClientCount - 1.
ClientClass Reference to the class the component has to instanciate for each client.
SessionCount Number of active sessions.
Sessions Array of active sessions. Index if from 0 to SessionCount - 1.
WSessions Reference to TWebSessions instance used to manage sessions.
WSocketServer Reference to the underlaying TWSocketServer.


Start Start listening for clients.
Stop Stop listening for clients.
SaveSessionsToFile Save all current sessions to a file.
LoadSessionsFromFile Load sessions saved in a file. Existing sessions are deleted.
ClearSessions Delete all sessions.
AddGetHandler Add a handler class for a given URL for HTTP GET method.
AddPostHandler Add a handler class for a given URL for HTTP POST method.
AddGetAllowedPath Add a path that the component is allowed to server static pages or files.


OnAuthGetPassword Triggered to get the password for authentication.
OnAuthGetType TAuthGetTypeEvent.
OnAuthNtlmBeforeValidat TAuthNtlmBeforeValidate.
OnAuthResult TAuthResultEvent.
OnBeforeProcessRequest Triggered before processing any request.
OnClientConnect Triggered when a client has connected.
OnClientDisconnect Triggered when a client is about to disconnect.
OnDeleteSession Triggered when a session is deleted.
OnFilterDirEntry Triggered to filter directory entries.
OnGetDocument Triggered when a client sent GET request.
OnHeadDocument Triggered when a client sent HEAD request.
OnHttpRequestDone A HTTP request has been handled on behalf of a client.
OnPostDocument Triggered when a client sent POST request.
OnPostedData Triggered when client post data and you accepted it from OnPostDocument event.
OnServerStarted Triggered when server has started listening.
OnServerStopped Triggered when server has stopped listening.

How to

Build a HTTP webserver application

ICS Components Reference