Commit Graph

1130 Commits

Author SHA1 Message Date
jocelyn ca8f95a594 Made library ecf compilable in scoop concurrency mode by default.
So ecf files are compilable with 16.05 and 16.11 .
2016-12-01 14:56:56 +01:00
jocelyn 5a9ccce558 Made library ecf compilable in scoop concurrency mode by default.
Except nino related projects that depends on EiffelThread.
2016-11-01 14:30:19 +01:00
jocelyn d05c919668 Made the notification_email library compilable with 16.05 and upcoming 16.11 . 2016-11-01 14:22:48 +01:00
jocelyn c7b1d4bb4c Use the theoretical version number of EiffelStudio when we inserted new features to EiffelNet. 2016-10-31 17:12:55 +01:00
jocelyn 193f22ebc8 Fixed wsf tests project.
Added ini config support to simple_file example.
2016-10-25 15:22:18 +02:00
jocelyn 5e79751522 Updated WGI_OUTPUT_STREAM.put_file_content . 2016-10-25 13:44:44 +02:00
jocelyn ac908e4efd Fixed expiration, and cache-control: max-age implementation.
Also use `FILE.date` instead of `FILE.change_date` (`change_date` is the date of the last status change, quite often same as creation date, while `date` is the last modification date).
2016-10-24 12:51:21 +02:00
jocelyn 885195dbaa Added WSF_RESPONSE.put_file_content (f: FILE, a_offset: INTEGER; a_count: INTEGER) to allow potential future optimization. 2016-10-24 12:47:33 +02:00
jocelyn 53f4f64596 Added feature to manipulate easily the chain of filters. 2016-10-21 19:39:42 +02:00
jocelyn c34f89df9b Added connection header related functions.
- WSF_REQUEST.is_keep_alive_http_connection: BOOLEAN
  - HTTP_HEADER_MODIFIER.put_connection_keep_alive
  - HTTP_HEADER_MODIFIER.put_connection_close
In Standalone request handler code, better detection of Connection: keep-alive header.
2016-10-18 13:22:32 +02:00
Jocelyn Fiat 4a47a00747 Better all-safe.ecf file under wsf/connector . 2016-10-15 22:37:16 +02:00
Jocelyn Fiat 12508c8e21 Updated to use new standalone option names. 2016-10-15 22:19:19 +02:00
Jocelyn Fiat 3d58ef84fa Fixed void-safety settings on web_socket_protocol.ecf . 2016-10-15 22:14:03 +02:00
Jocelyn Fiat 3a120f3311 Updated http_client library to benefit from http_network library. 2016-10-15 21:42:51 +02:00
Jocelyn Fiat d45b90e52a Fixed ecf to get them compiled. 2016-10-14 17:57:02 +02:00
jocelyn c74b9e0c45 The network classes are now under http_network library, thus renamed the header file as ew_network.h . 2016-10-14 16:46:26 +02:00
jocelyn b8aee435dd Updated simple_ssl example to use directly the standalone connector,
and use the new WSF_STANDALONE_SERVICE_OPTIONS class.
Added WSF_STANDALONE_SERVICE to make it easy to use directly.
2016-10-14 15:13:27 +02:00
Jocelyn Fiat a4d737d548 Be sure to use ecf custom variable "ssl_enabled" and not the variant "httpd_ssl_enabled" or else.
Include again the openssl include folder for EiffelStudio before 16.11, otherwise eif_openssl is not found.
2016-10-14 14:32:04 +02:00
Jocelyn Fiat 16f667af2c Reverted a few ecf files from ecf version 1-16-0 to ecf version 1-15-0.
Added target "http_network_ssl" to test http_network with ssl support.
2016-10-14 14:00:03 +02:00
Jocelyn Fiat 27a5c9d969 Fixed http_network compilation for EiffelStudio before version 16.11. 2016-10-14 13:51:57 +02:00
jocelyn 1161e541fa Accept "yes" or "true" in wsf launcher option boolean values.
Set socket_error when network occurs in `read_to_managed_pointer_noexception`.
2016-10-14 13:10:44 +02:00
jocelyn d4ec640ac8 Renamed many classes and feature to use "secure" term instead of "ssl". (note, the .ecf are still using the "ssl" terminologie).
Provided easy way to set secure settings for Standalone.
For wsf launcher boolean option accept "true" or "yes" for True boolean, anything else is False.
2016-10-14 11:52:48 +02:00
jocelyn 01a9d02586 Added websocket examples for the server and client. 2016-10-13 22:01:50 +02:00
jocelyn 1e4203111f Use socket .._noexception functions in websocket networking. 2016-10-13 21:55:53 +02:00
jocelyn b84f4838f5 Added new WSF_STANDALONE_SERVICE_OPTIONS, a descendant of WSF_SERVICE_LAUNCHER_OPTIONS specialized for standalone connectors. 2016-10-13 21:55:16 +02:00
jocelyn 8b43cb909a Do not use put_readable_string_8_noexception, and just update put_string_8_noexception to accept READABLE_STRING_8. 2016-10-13 21:53:12 +02:00
jocelyn 897f64e4fe Reuse http_network library.
Reintroduced HTTPD_STREAM_SOCKET for backward compatibility, and ease of usage.
Added websocket libraries (client, and protocol).
2016-10-13 16:25:11 +02:00
jocelyn 981942b2d6 Extracted network socket classes from httpd folder, and created a new library/network/http_network library.
Renamed HTTPD_STREAM_SOCKET as HTTP_STREAM_SOCKET.
Made http_client (net) library use the new http_network library.
2016-10-12 23:27:55 +02:00
jocelyn c132d7734b Moved httpd library from ewsgi/connectors/standalone/lib/httpd to httpd.
Reused the http_network library as well inside httpd library.
2016-10-12 22:54:21 +02:00
jocelyn d28f794828 Implemented chunked Transfer-Encoding in net_http_client.
Implemented support for buffer_size and chunk_size for net_http_client.
2016-10-12 16:49:08 +02:00
jocelyn ef704790a8 Fixed the "wsf_tests" autocase suite, which was wrong for cookies, and other minor changes. 2016-10-12 11:21:27 +02:00
jocelyn 29590b1c0d Fixed potential issue related to PATH_INFO, and percent_encoded_path_info computing , when script name is in different path. 2016-10-12 11:19:23 +02:00
jocelyn ed959042d7 Fixed issue with input using "Transfer-Encoding: chunked". 2016-10-12 11:12:37 +02:00
jocelyn 1170417e54 Fixed regression with persistent connection, be sure to keep the remote_info data for all successive requests within a same persistent connection. 2016-10-11 17:34:07 +02:00
jocelyn f12158e535 Use the ..._noexception network features in the WGI standalone input and output classes. 2016-10-11 10:57:05 +02:00
jocelyn 080881368a Also check for SOCKET.was_error when accessing the socket data. 2016-10-11 10:29:38 +02:00
Jocelyn Fiat 3e935c7e33 Use `was_error' to get expected behavior on Linux. 2016-10-10 22:27:45 +02:00
Jocelyn Fiat ad2bb0d1a7 Fixed C compilation on non Windows platform for EiffelStudio until 16.05 .
(the required c function are coming with EiffelNet from EiffelStudio 16.11 ).
2016-10-10 22:17:41 +02:00
jocelyn 7a546622bc Updated deprecated EiffelWeb nino to make it compilable with upcoming EiffelStudio 16.11.
Updated various projects to make them up-to-date and compilable with this latest EiffelWeb.
2016-10-10 21:40:15 +02:00
jocelyn aed7461faf Improved networking implementation for httpd server and sockets.
Use new EiffelNet routines that do not raise exception on error.
Made compilable with 16.05 and dev-and-upcoming release 16.11.
Fixed various minor issues related to base_url, and added comments.
2016-10-08 01:10:16 +02:00
jocelyn 56819d6793 Replace Nino by Standalone whenever it is relevant. 2016-10-08 01:02:12 +02:00
jocelyn b4fd04ad9f Updated has_incoming_data comment. 2016-10-05 16:19:48 +02:00
jocelyn 71a98f3c28 Make EiffelWeb standalone easier to debug by using in some locations error instead of exception for network error.
- Added C external to use C `recv` feature with error (as opposed to have exception raised on network error).
2016-10-05 10:45:57 +02:00
jocelyn ed22be2551 Commented the execute_bad_request, since it is not ready and will trigger error most of the time. 2016-10-05 00:04:21 +02:00
jocelyn 77085364ee Improve socket management for EiffelWeb standalone connector. 2016-10-04 18:49:48 +02:00
jocelyn 0217c6d3f4 First attempt to response with bad request message when bad request is detected. 2016-10-04 13:00:38 +02:00
jocelyn 55fec2423c Added ssl test case for standalone wsf connector. 2016-10-04 12:59:56 +02:00
jocelyn 612ff243c1 Also display SSL information when verbose is enabled for EiffelWeb standalone connector. 2016-10-02 20:05:44 +02:00
jocelyn 21407f8dcf Fixed SSL support on the httpd component, and also on the EiffelWeb standalone connector.
- 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.
2016-09-27 16:11:47 +02:00
jocelyn 356eb143ea Fixed the non void-safe ecf for wsf_proxy. 2016-09-26 17:42:49 +02:00