Difference between revisions of "THttpServer"
Jump to navigation
Jump to search
Line 99: | Line 99: | ||
|- | |- | ||
| valign="top" | [[THttpServer.OnAuthNtlmBeforeValidate | OnAuthNtlmBeforeValidat]] |||| TAuthNtlmBeforeValidate | | valign="top" | [[THttpServer.OnAuthNtlmBeforeValidate | OnAuthNtlmBeforeValidat]] |||| TAuthNtlmBeforeValidate | ||
+ | |- | ||
+ | | valign="top" | [[THttpServer.OnUnknownRequestMethod | OnUnknownRequestMethod]] |||| Triggered when an unimplemented request is received. The request headers, method, path, etc., will be populated. | ||
|} | |} | ||
Latest revision as of 19:00, 20 April 2016
Main page -> ICS components reference -> THttpServer
Contents
Overview
- unit HttpSrv.pas
- inheritance THttpServer- TComponent
THttpServer component is implementing the server side HTTP protocol. HTTP protocol is the standard protocol for browsing the World Wide Web.
If you want to write a web application, you should use THttpAppSrv which derive from THttpServer and add a lot of nice features to ease writing HTTP application server.
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. | |
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. | |
WSocketServer | Reference to the underlaying TWSocketServer. |
Methods
Start | Starts the webserver so it lisen for incoming requests. |
Events
OnServerStarte | Triggered when server has started listening | |
OnServerStopped | Triggered when server has stopped listening | |
OnClientConnect | Triggered when a client has connected | |
OnClientDisconnect | Triggered when a client is about to disconnect. | |
OnGetDocument | Triggered when a client sent GET request. You can either do nothing and let server handle all work, or you can build a document on the fly or refuse access. | |
OnHeadDocument | Triggered when a client sent HEAD request. You can either do nothing and let server handle all work, or you can build a document header on the fly or refuse access. | |
OnPostDocument | Triggered when a client sent POST request. You have to tell if you accept data or not. If you accept, you'll get OnPostedData event with incomming data. | |
OnPostedData | Triggered when client post data and you accepted it from OnPostDocument event. When you've got all data, you have to build a reply to be sent to client. | |
OnHttpRequestDone | A HTTP request has been handled on behalf of a client. | |
OnBeforeProcessRequest | Triggered before processing any request. | |
OnFilterDirEntry | Triggered to filter directory entries. | |
OnAuthGetPassword | Triggered to get the password for authentication | |
OnAuthResult | TAuthResultEvent | |
OnAuthGetType | TAuthGetTypeEvent | |
OnAuthNtlmBeforeValidat | TAuthNtlmBeforeValidate | |
OnUnknownRequestMethod | Triggered when an unimplemented request is received. The request headers, method, path, etc., will be populated. |