jocelyn
53f4f64596
Added feature to manipulate easily the chain of filters.
2016-10-21 19:39:42 +02:00
jocelyn
dff9007aa6
Updated (un)install script to include new network, httpd, and websocket libraries.
2016-10-18 13:29:47 +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
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
32ad7f0c65
Merged changes related to websocket and restructured httpd, http_
...
network libraries.
2016-10-14 13:17:17 +02:00
jocelyn
78f24ecb37
Updated ws.ini (for now, keep is_secure False, due to remaining issue with websocket and SSL implementation).
2016-10-14 13:11:26 +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
9e92b8c0fa
Fixed typo in restbuck name.
2016-10-12 11:21:42 +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
57b1691243
Added support for debug.ini to debug example.
2016-10-12 11:19:54 +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
2cfe00e61b
Updated desktop_app example with embedded standalone web server.
2016-10-11 17:30:50 +02:00
jocelyn
a498a167ed
Updated desktop application example for scoop concurrency mode.
2016-10-11 16:20:04 +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
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
1f7a81a2d6
Updated workbook, minor changes (removed mention about nino, added libfcgi info).
2016-10-04 12:56:11 +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
40fb3893af
Include wsf_proxy to the installation process.
2016-09-27 16:18:06 +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
jocelyn
df551d4a4f
Use latest API from http_client using DEFAULT_HTTP_CLIENT,
...
that could use libcurl or EiffelNet depending on the configuration (.ecf).
2016-09-26 13:13:57 +02:00
jocelyn
f010da04e9
Merge branch 'reverse_proxy'
2016-09-19 22:19:21 +02:00
jocelyn
5029049ef0
Replaced host+port by uri ( http://remotemachine:port/path ).
...
Added support for SSL (https).
2016-08-08 12:30:28 +02:00
jocelyn
80254b2278
When possible keep ecf location relative within the same EiffelWeb directory structure.
2016-08-06 10:07:42 +02:00
jocelyn
210fae5000
First step towards SSL support.
2016-08-06 10:04:45 +02:00
jocelyn
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
jocelyn
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
jocelyn
cc2d7dbb1c
Ignore empty header line.
2016-08-05 11:28:59 +02:00
jocelyn
c88394b9fd
Added support for category in ATOM format (input and output).
2016-06-24 13:03:09 +02:00
jocelyn
4283662f43
Removed unwanted .ecf file.
2016-06-22 10:55:41 +02:00
jocelyn
1b951376f9
Added more application logic for the example.
2016-06-22 10:52:36 +02:00
jocelyn
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
jocelyn
b49e841ac7
Added WSF standalone_websocket connector, that provides websocket on top of standalone connector.
2016-06-21 23:37:48 +02:00
jocelyn
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
jocelyn
0cecb9594c
Fixed signature of {HTTPD_CONFIGURATION_I}.set_ca_key .
2016-06-16 10:37:26 +02:00
jocelyn
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
jocelyn
71a5c086a5
Moved httpd from src to lib, under standalone connector.
2016-06-15 18:04:00 +02:00
jocelyn
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
jocelyn
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
jocelyn
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
5890ca6f73
Removed warning about unknown class in export clause.
2016-05-25 22:51:45 +02:00
jocelyn
7f4bf09d84
updated readme.md to link to workbook.
2016-05-25 19:17:38 +02:00
jocelyn
cc3c8af6b4
Updated HTTP_COOKIE implementation
...
- by default the Cookie does not set max-age and expires, so it defines a Session Cookie.
(max_age and expires attributes are not included in the response)
- set_* and unset_* features to define max_age and expire attributes.
- marked old features as obsolete.
Updated test cases.
Signed-off-by: jvelilla <javier.hector@gmail.com >
2016-05-04 12:26:17 +02:00
jocelyn
b35ec65577
Updated EWF Windows tools to install EWF into EiffelStudio source tree.
2016-02-03 18:03:43 +01:00
jocelyn
4482520a86
Removed useless library declarations.
2016-02-03 15:12:54 +01:00
jocelyn
e9afc9ad17
Updated package.iron files.
2016-02-02 09:57:03 +01:00
jocelyn
55ab6969ee
Do not html escape ' with '
...
reason: the named character reference ' (the apostrophe, U+0027) was introduced in XML 1.0 but does not appear in HTML. Authors should therefore use ' instead of ' to work as expected in HTML 4 user agents.
2016-01-20 17:53:06 +01:00
jocelyn
d982bc06ad
Eiffel code and ECFs update to support new agent notations.
2016-01-18 21:42:59 +01:00
jocelyn
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
jocelyn
1a4db1d7c6
Eiffel code and ECFs update to support new agent notations.
...
Removed contrib/library/.../json library.
2016-01-18 16:41:10 +01:00
jocelyn
3bb9101b07
Improved error library by refactorying the sync as two way propagation.
...
Now one can setup error handler propagation in one way, or two way (sync).
The "reset" applies in both way, even if this is a one way propagation to fit current existing usage.
Added optional id for the error handlers.
Feature renaming according to design changes.
Added related autotest cases.
2016-01-12 16:09:29 +01:00
jocelyn
1b2496b7f0
Better EMAIL.message computing.
...
Send end of input file for stdin mode.
2016-01-12 16:04:24 +01:00
jocelyn
d20c377580
Fixed Reply-To: implementation in notification mailer.
...
Added helper routines to query additional header, and reset Cc:, and Bcc: values.
2016-01-08 21:46:01 +01:00
jocelyn
166d0839b7
Fixed end_of_input by using SOCKET.readable.
2015-12-28 23:45:04 +01:00
jocelyn
fbe0732210
Removed uuid in wsf_session ecf files.
2015-12-28 18:05:18 +01:00
jocelyn
b5d6a75155
Fixed table item output by appending html attribute for WSF widget table item.
2015-12-28 17:40:59 +01:00
jocelyn
4fc4b02449
Made WSF_TABLE a TABLE_ITERABLE.
2015-12-28 17:40:20 +01:00
jocelyn
5276bd1479
Fixed URI mapping with regard to trailing slash handling.
2015-12-28 17:39:54 +01:00
jocelyn
7d94413297
removed non void-safe tests.ecf for feeds library
2015-11-05 21:48:17 +01:00
jocelyn
35855941e6
Comment and code cleaning.
2015-11-05 21:37:44 +01:00
jocelyn
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
jocelyn
dde6a0b7de
Added specific configuration file, so that it is easier to use either libcurl or net implementation.
2015-10-19 08:46:31 +02:00
jocelyn
b64a281d75
Fixed timeout issue due to too many "ready_for_reading".
...
Fixed Connection behavior.
Fixed Content-Type settings.
Removed condition on POST or PUT, since code also applied to any request methods.
Added verbose output implementation.
2015-10-19 08:46:30 +02:00
jocelyn
b69b8aaaf9
Added first support for persistent connection in NET http client implementation.
...
Various improvement related to eventual errors.
2015-10-19 08:46:29 +02:00
jocelyn
65b28ed877
Updated README.md with configuration topics related to libcurl or net disabling.
...
Fixed ssl test by precising insecure ssl.
2015-10-19 08:46:27 +02:00
jocelyn
6c7637716b
Updated a few comments
...
Removed useless NULL_HTTP_CLIENT.
Extracted mime code from NET_HTTP_CLIENT_REQUEST.response into specific routine.
2015-10-19 08:46:26 +02:00
jocelyn
ff9a238f5c
Added https support with Net implementation.
...
Added notion of default HTTP_CLIENT, to be able to build portable code among http client implementation.
2015-10-19 08:46:25 +02:00
jocelyn
eec3cbdba1
Added null http client for upcoming changes.
...
Refactored NET request implementation.
- fixed potential issue with header conflict.
- simplified, and extract parts of the code into routine.
- Implemented read of chunked Transfer-Encoding
- Fixed potential issue with socket handling.
First steps to be able to exclude net or libcurl implementation when using http_client lib.
Removed from NET implementation the hack related to PUT and upload data (it was used to workaround an issue with libcurl).
2015-10-19 08:46:23 +02:00
jocelyn
29c4931dc0
Added support for chunked transfer-encoding response.
...
Implemented correctly the redirection support for NET_HTTP_CLIENT...
Added the possibility to use HTTP/1.0 .
Splitted the manual tests that were using during development.
First step to redesign and clean the new code.
2015-10-19 08:46:22 +02:00
jocelyn
3f69081d32
Added postcondition to ensure the result of {HTTP_CLIENT_REQUEST}.response is attached.
...
(useless with void-safety compilation, but keep it for non void-safe execution).
2015-10-19 08:46:11 +02:00
jocelyn
7033db7dc4
Removed useless redefination of is_equal.
2015-10-19 08:46:10 +02:00
jocelyn
a1a16b4a22
Fixing http_client.ecf file with correct locations.
2015-10-19 08:46:09 +02:00
jocelyn
98e92ee0fe
Basic initial Eiffel NET implementation.
2015-10-19 08:46:07 +02:00
jocelyn
29b55f36cf
Added skeleton for Eiffel Net implementation of HTTP_CLIENT solution.
...
This is work in progress.
2015-10-19 08:46:06 +02:00
jocelyn
061e88c9fe
Added FEED.prune (a_item: FEED_ITEM).
2015-10-14 17:40:38 +02:00
jocelyn
66f204b1f2
Make custom error interface more flexible with READABLE_STRING_... instead of STRING_...
2015-10-10 00:58:07 +02:00
jocelyn
c92b1b8c3b
Added feed to xhtml visitor.
...
Updated interfaces, mainly related to date attributes.
2015-10-09 19:08:53 +02:00
jocelyn
98c12b8fb9
Made HTTP_DATE more flexible and support UTC+0000, GMT+0000 and now also +0000.
...
Added comments.
2015-10-08 11:00:01 +02:00
jocelyn
5fee483fd9
Added FEED + FEED operator to merge two feeds.
...
Added FEED sorting routine.
Added FEED_ITEM.link: detachable FEED_LINK that represents the main feed link.
Comments.
2015-10-08 10:10:08 +02:00