jocelyn
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
jocelyn
9fd53b9b1f
Fixed debug.ecf file from debug example.
2016-12-01 21:08:13 +01:00
jocelyn
27c77721fd
Fixed a few void-safety issue, attribute not initialized before computing agent objects.
2016-12-01 20:41:03 +01:00
jocelyn
c2202e82f6
Fixed compilation of desktop app example.
2016-12-01 18:43:22 +01:00
jocelyn
72a40a2673
Fixed potential void-safety issue in descendants related to initialization of router and filter.
2016-12-01 18:14:07 +01:00
jocelyn
2fbffd0c1e
Fixed compilation.
2016-12-01 16:09:41 +01:00
jocelyn
9e5fec9c34
Removed unwanted files.
2016-12-01 15:02:40 +01:00
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
087b5d49bb
Fixed wsf_js_widget compilation.
2016-11-01 14:01:50 +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
2e49febca8
Fixed the EiffelStudio EiffelWeb wizard.
2016-10-21 19:40:13 +02:00
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