diff --git a/docs/workbook/basics/basics.md b/docs/workbook/basics/basics.md index 2fc0e40f..f8b41b1b 100644 --- a/docs/workbook/basics/basics.md +++ b/docs/workbook/basics/basics.md @@ -59,7 +59,7 @@ feature -- Basic operations end ``` -When using the "standalone" connector (or the deprecated "nino" connector), by default the service listens on port 80, but often this port is already used by other applications, so it is recommended to use another port. +When using the [standalone](../connectors/standalone.md) connector (or the deprecated "nino" connector), by default the service listens on port 80, but often this port is already used by other applications, so it is recommended to use another port. To define another port, redefine the feature `initialize` and set up a new port number using the service options (see below). @@ -86,6 +86,8 @@ feature {NONE} -- Initialization end ``` +Learn more about the [Standalone](../connectors/standalone.md) connector. + The **WSF_REQUEST** gives access to the incoming data; the class provides features to get information such as request method, form data, query parameters, uploaded files, HTTP request headers, and hostname of the client among others. The **WSF_RESPONSE** provides features to define the response with information such as HTTP status codes (10x,20x, 30x, 40x, and 50x), response headers (Content-Type, Content-Length, etc.) and obviously the body of the message itself. diff --git a/docs/workbook/connectors/standalone.md b/docs/workbook/connectors/standalone.md new file mode 100644 index 00000000..4dd0ff46 --- /dev/null +++ b/docs/workbook/connectors/standalone.md @@ -0,0 +1,27 @@ +Nav: [Workbook](../workbook.md) + +## The EiffelWeb standalone connector + +It provides a standalone httpd server for the EiffelWeb framework. +It implements HTTP/1.1 with persistent connection, concurrent connection, ... + +To easily set the standalone connector, see class `WSF_STANDALONE_SERVICE_OPTIONS`. + +### Main settings: + +* `port`: Listening port number (defaut: 80). +* `max_concurrent_connections`: maximum of concurrent connections (default: 100) +* `max_tcp_clients`: Listen on socket for at most `max_tcp_clients` connections (default: 100) +* `socket_timeout`: Amount of seconds the server waits for receipts and transmissions during communications. With timeout of 0, socket can wait for ever. (default: 60) +* `socket_recv_timeout`: Amount of seconds the server waits for receiving data during communications. With timeout of 0, socket can waits for ever. (default: 5) +* `keep_alive_timeout`: Persistent connection timeout. Number of seconds the server waits after a request has been served before it closes the connection (default: 5) +* `max_keep_alive_requests`: Maximum number of requests allowed per persistent connection. To disable KeepAlive, set `max_keep_alive_requests` to `0`. To have no limit, set `max_keep_alive_requests` to `-1` (default: 300). + +* `is_secure`: check SSL certificate? +* `secure_certificate`: path to SSL certificate. +* `secure_certificate_key`: certificate key + +* `verbose`: display verbose output (Default: false) + +See also `WGI_STANDALONE_CONSTANTS` for default values. + diff --git a/library/server/httpd/configuration/httpd_constants.e b/library/server/httpd/configuration/httpd_constants.e index 2475a0b1..2a0ed315 100644 --- a/library/server/httpd/configuration/httpd_constants.e +++ b/library/server/httpd/configuration/httpd_constants.e @@ -26,7 +26,7 @@ feature -- Default timeout settings feature -- Default persistent connection settings default_keep_alive_timeout: INTEGER = 5 -- seconds - default_max_keep_alive_requests: INTEGER = 100 + default_max_keep_alive_requests: INTEGER = 300 note copyright: "2011-2016, Jocelyn Fiat, Javier Velilla, Eiffel Software and others" diff --git a/library/server/wsf/connector/standalone/wsf_standalone_service_options.e b/library/server/wsf/connector/standalone/wsf_standalone_service_options.e index 6cf35895..c3fa0c20 100644 --- a/library/server/wsf/connector/standalone/wsf_standalone_service_options.e +++ b/library/server/wsf/connector/standalone/wsf_standalone_service_options.e @@ -66,7 +66,7 @@ feature -- Access: connection end max_tcp_clients: INTEGER assign set_max_tcp_clients - -- Listen on socket for at most `queue' connections. + -- Listen on socket for at most `max_tcp_clients' connections. do Result := option_integer_value ("max_tcp_clients", 0) end