- the standalone connector support for SSL, is using certicate files for now (no in-memory support).
- to enable ssl support, set ecf variable `httpd_ssl_enabled=true`.
- added the `simple_ssl` example to demonstrate how to have standalone ssl server.
(be careful when using EiffelNet SSL and the http_client library, disable the libcurl
via ecf variable `libcurl_http_client_disabled=true` )
Added support for recv timeout to the EiffelWeb standalone connector.
- made EiffelWeb compilable with 16.05 and upcoming 16.11.
Done via ecfs condition on version to accept EiffelNet with recv_timeout (from 16.11), and without (until 16.05).
- adding recv timeout prevents server to hang for ever if a client wait too long to send data.
Updated various comments.
42 lines
1.0 KiB
Plaintext
42 lines
1.0 KiB
Plaintext
note
|
|
description : "simple application execution"
|
|
date : "$Date$"
|
|
revision : "$Revision$"
|
|
|
|
class
|
|
APPLICATION_EXECUTION
|
|
|
|
inherit
|
|
WSF_EXECUTION
|
|
|
|
create
|
|
make
|
|
|
|
feature -- Basic operations
|
|
|
|
execute
|
|
local
|
|
s: STRING
|
|
dt: HTTP_DATE
|
|
do
|
|
-- To send a response we need to setup, the status code and
|
|
-- the response headers.
|
|
s := "Hello World!"
|
|
create dt.make_now_utc
|
|
s.append (" (UTC time is " + dt.rfc850_string + ").")
|
|
if request.is_https then
|
|
s.append ("<p>This is a secured connection! (https)</p>%N")
|
|
end
|
|
|
|
response.put_header ({HTTP_STATUS_CODE}.ok, <<["Content-Type", "text/html"], ["Content-Length", s.count.out]>>)
|
|
response.set_status_code ({HTTP_STATUS_CODE}.ok)
|
|
response.header.put_content_type_text_html
|
|
response.header.put_content_length (s.count)
|
|
if attached request.http_connection as l_connection and then l_connection.is_case_insensitive_equal_general ("keep-alive") then
|
|
response.header.put_header_key_value ("Connection", "keep-alive")
|
|
end
|
|
response.put_string (s)
|
|
end
|
|
|
|
end
|