fbdf034b9b
Conflict response can also have a payload to help the client understand the source of the conflict.
2017-02-13 17:36:10 +01:00
d6f3e500b8
Fixed implementation.
2017-02-13 17:35:14 +01:00
a44c4d9a16
Minor changes.
2017-02-12 12:42:25 +01:00
d09d452ad5
Added test cases for PATH_INFO and percent_encoded_path_info for root url cases.
...
Removed obsolete calls from TEST_EXECUTION_I .
2017-01-10 12:37:37 +01:00
56fa773b30
If PATH_INFO is "/", the percent encoded path info is also "/". No need for complex computation.
...
Note this fixes an issue with libfcgi app not hosted as root url such as "/sub/app.fcgi" on (old) IIS server.
2017-01-10 11:59:48 +01:00
ee9746449c
If PATH_INFO is empty, the percent encoded path info is also empty. No need for complex computation.
...
Note this fixes an issue with libfcgi app not hosted as root url such as "/sub/app.fcgi".
2017-01-10 00:16:50 +01:00
ece6607bcf
Disable debug clause for the wsf tests suite.
...
Removed useless dep on EiffelThread
2016-12-05 21:50:02 +01:00
186e5514eb
If the count for put_file_content is not positive (i.e <= 0), do not send anything.
...
Output/log more information for request handling when standalone httpd server has verbose enabled.
2016-12-01 21:20:14 +01:00
72a40a2673
Fixed potential void-safety issue in descendants related to initialization of router and filter.
2016-12-01 18:14:07 +01:00
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
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
193f22ebc8
Fixed wsf tests project.
...
Added ini config support to simple_file example.
2016-10-25 15:22:18 +02:00
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
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
53f4f64596
Added feature to manipulate easily the chain of filters.
2016-10-21 19:39:42 +02:00
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
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
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
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
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
01a9d02586
Added websocket examples for the server and client.
2016-10-13 22:01:50 +02:00
1e4203111f
Use socket .._noexception functions in websocket networking.
2016-10-13 21:55:53 +02:00
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
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
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
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
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
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
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
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
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
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
4fc4b02449
Made WSF_TABLE a TABLE_ITERABLE.
2015-12-28 17:40:20 +01:00
5276bd1479
Fixed URI mapping with regard to trailing slash handling.
2015-12-28 17:39:54 +01:00
35855941e6
Comment and code cleaning.
2015-11-05 21:37:44 +01:00
50ba8ca703
Fixed various unicode issue related to query and form parameters.
...
(Especially for the multipart/form-data encoding.)
Factorized code related to smart parameters computing (handling list , table, ...) in WSF_VALUE_UTILITIES.
Fixed an issue with percent_encoded_path_info computation from request_uri.
Fixed issue with cookie addition having same cookie name.
Fixed unicode support for uploaded file.
WSF_STRING is reusing WSF_PERCENT_ENCODER.
Use unicode output for WSF_DEBUG_HANDLER.
Code cleaning
2015-11-05 21:32:24 +01:00
8651ff6e1e
Fixing script_url' that wrongly used path_info' instead of `percent_encoded_path_info'.
...
(issue on script_url when path info contains unicode character).
2015-08-04 13:03:51 +02:00
33150e34d6
Reverted previous changed related to redefinition of set_status_code which was against existing assertions.
2015-07-02 15:11:33 +02:00