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
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
ef704790a8
Fixed the "wsf_tests" autocase suite, which was wrong for cookies, and other minor changes.
2016-10-12 11:21:27 +02:00
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
ed959042d7
Fixed issue with input using "Transfer-Encoding: chunked".
2016-10-12 11:12:37 +02:00
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
f12158e535
Use the ..._noexception network features in the WGI standalone input and output classes.
2016-10-11 10:57:05 +02:00
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
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
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
56819d6793
Replace Nino by Standalone whenever it is relevant.
2016-10-08 01:02:12 +02:00
b4fd04ad9f
Updated has_incoming_data comment.
2016-10-05 16:19:48 +02:00
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
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
77085364ee
Improve socket management for EiffelWeb standalone connector.
2016-10-04 18:49:48 +02:00
0217c6d3f4
First attempt to response with bad request message when bad request is detected.
2016-10-04 13:00:38 +02:00
55fec2423c
Added ssl test case for standalone wsf connector.
2016-10-04 12:59:56 +02:00
612ff243c1
Also display SSL information when verbose is enabled for EiffelWeb standalone connector.
2016-10-02 20:05:44 +02:00
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
356eb143ea
Fixed the non void-safe ecf for wsf_proxy.
2016-09-26 17:42:49 +02:00
f010da04e9
Merge branch 'reverse_proxy'
2016-09-19 22:19:21 +02:00
5029049ef0
Replaced host+port by uri ( http://remotemachine:port/path ).
...
Added support for SSL (https).
2016-08-08 12:30:28 +02:00
80254b2278
When possible keep ecf location relative within the same EiffelWeb directory structure.
2016-08-06 10:07:42 +02:00
210fae5000
First step towards SSL support.
2016-08-06 10:04:45 +02:00
9cc9b95190
Added a simple reverse proxy handler.
...
- For now, it does not support SSL connection on the target yet.
- No external config file support, this is all about coding.
2016-08-05 11:38:35 +02:00
8b172b5d33
Revisited WSF_REQUEST.read_input_data* functions:
...
- read_input_data_into_file now accepts a IO_MEDIUM argument instead of just FILE.
- cleaned the implementation, and make sure that eventual `raw_input_data` is containing only the raw input data.
2016-08-05 11:32:14 +02:00
4283662f43
Removed unwanted .ecf file.
2016-06-22 10:55:41 +02:00
193cc3cbde
Renamed WGI_STANDALONE_CONNECTOR_ACCESS as WGI_STANDALONE_CONNECTOR_EXPORTER.
...
Isolate the websocket implementation in descendant of {WEB_SOCKET_EVENT_I}.
Added very simple echo websocket example.
+ code cleaning.
2016-06-22 10:46:15 +02:00
b49e841ac7
Added WSF standalone_websocket connector, that provides websocket on top of standalone connector.
2016-06-21 23:37:48 +02:00
8ba74e1c90
Log when a persistent connection is reused.
...
Use anchor type on `{WGI_STANDALONE_CONNECTOR}.configuration` and `{WSF_STANDALONE_SERVICE_LAUNCHER}.connector`.
Add access to the socket of standalone input stream from `{WSF_STANDALONE_CONNECTOR_ACCESS}`.
Removed a useless redefination in `WSF_EXECUTION`.
2016-06-21 23:36:22 +02:00
0cecb9594c
Fixed signature of {HTTPD_CONFIGURATION_I}.set_ca_key .
2016-06-16 10:37:26 +02:00
e384a6d6ed
Make it easier to reuse the http network classes.
...
This is to make it easier for websocket solution to reuse httpd implementation.
2016-06-16 10:23:30 +02:00
71a5c086a5
Moved httpd from src to lib, under standalone connector.
2016-06-15 18:04:00 +02:00
dfa60bf8f5
Prepared httpd_stream to be useable for client too.
...
Fixed obsolete tests/dev compilation (mainly to avoid wrong failure reports).
added package.iron files.
2016-06-15 17:56:22 +02:00
113aa69efc
Added advanced settings for standalone connector
...
- max_concurrent_connections=100
- keep_alive_timeout=15
- max_tcp_clients=100
- socket_timeout=300
- max_keep_alive_requests=300
And then can be set via the options as well, and via .ini file.
Also improved the verbose console output system.
2016-06-15 09:19:23 +02:00
af5fc75743
Using passive regions.
...
Improve connector options mainly for standalone connector.
Updated "simple" example to return a timestamp.
2016-06-14 16:01:37 +02:00
Jocelyn Fiat
63be2c278c
Fixed bad usage of {SOCKET}.socket_ok that resulted in bad behavior on linux.
2016-05-31 22:19:52 +02:00
Jocelyn Fiat
f8ba741aa2
Using -lfcgi as external linker flag, rather than /usr/lib/libfcgi.so .
...
Note on Ubuntu: apt-get install libfcgi-dev
2016-05-31 18:51:15 +02:00
5890ca6f73
Removed warning about unknown class in export clause.
2016-05-25 22:51:45 +02:00
Colin Adams
ad90e7c135
Fix for missing error reporting in WSF_PUT/POST_HELPER
2016-05-20 17:37:47 +02:00
e9afc9ad17
Updated package.iron files.
2016-02-02 09:57:03 +01:00
d982bc06ad
Eiffel code and ECFs update to support new agent notations.
2016-01-18 21:42:59 +01:00
2ca87d53b8
Added process_transfer to implement process_file. This way, it is easier to redefine the transfert implementation, or the process_file directly, if needed.
2016-01-18 17:05:35 +01:00
1a4db1d7c6
Eiffel code and ECFs update to support new agent notations.
...
Removed contrib/library/.../json library.
2016-01-18 16:41:10 +01:00
166d0839b7
Fixed end_of_input by using SOCKET.readable.
2015-12-28 23:45:04 +01:00
fbe0732210
Removed uuid in wsf_session ecf files.
2015-12-28 18:05:18 +01:00
b5d6a75155
Fixed table item output by appending html attribute for WSF widget table item.
2015-12-28 17:40:59 +01:00
4fc4b02449
Made WSF_TABLE a TABLE_ITERABLE.
2015-12-28 17:40:20 +01:00