Commit Graph
100 Commits
Author SHA1 Message Date
Jocelyn Fiat ffe87ccbe9 Fixed reading chunked input data
When retrieving data block by block, use 8_192 instead of 1_024 (since 1_024 is too small most of the time)
2012-12-18 23:40:26 +01:00
Jocelyn Fiat 0d87c7939a Fixed sending of chunk, especially the ending where there is an optional Trailer, and a mandatory final CRLF
Now put_chunk does not support anymore empty chunk, and thus does not call put_chunk_end if ever it is called with empty chunk content.
Fixed the `transfered_content_length' when dealing with chunk transfert encoding
2012-12-18 23:34:55 +01:00
Jocelyn Fiat de93ce32ff Added logger response wrapper, this is mainly to be able to save any response message to a file.
(debugging purpose)
2012-12-18 23:28:04 +01:00
Jocelyn Fiat 71b1bad53d Added basic support for "Expect" http header
i.e:   WSF_REQUEST.http_expect: detachable READABLE_STRING_8

Added WSF_REQUEST.request_time_stamp: INTEGER_64
2012-12-18 23:25:54 +01:00
Jocelyn Fiat 82c779fd60 fixed autotests compilation 2012-12-17 17:53:06 +01:00
Jocelyn Fiat 68ec6fb29c Made WSF_REQUEST.is_content_type_accepted safer. 2012-12-14 15:52:54 +01:00
Jocelyn Fiat cc570f5abf Added WSF_DEFAULT_*_RESPONSE
Fixed the method not allowed by setting the Allow: header
2012-12-14 15:52:35 +01:00
Jocelyn Fiat 8e31950285 Improved HTTP_AUTHORIZATION 2012-12-14 15:51:34 +01:00
Jocelyn Fiat 4612fdb5de Added Authorization and Allow
Added is_empty and count
2012-12-14 15:51:12 +01:00
Jocelyn Fiat 4a65015988 removed unused local variables 2012-12-13 18:43:15 +01:00
Jocelyn Fiat e7f458fd50 added code that may be used to avoid breaking compatibility with new Eiffel Studio 7.2
This is experimental for now.
2012-12-13 18:16:01 +01:00
Jocelyn Fiat b7505e67b8 Added to WSF_REQUEST
- raw_header_data: like meta_string_variable
  - read_input_data_into (buf: STRING)
  - is_content_type_accepted (a_content_type: READABLE_STRING_GENERAL): BOOLEAN
Changed raw_input_data to return IMMUTABLE_STRING_8
Added WSF_METHOD_NOT_ALLOWED_RESPONSE
Added WSF_TRACE_RESPONSE to respond TRACE request
Now Not_found response return html content if the client accepts, other text/plain
Implemented TRACE response, and Method not allowed as implementation of WSF_ROUTED_SERVICE.execute_default
2012-12-13 17:29:46 +01:00
Jocelyn Fiat ff7d963d55 Fixed WGI_INPUT_STREAM read_to_string and append_to_string 2012-12-13 17:24:55 +01:00
Jocelyn Fiat d264899e8b Merge branch 'master' of https://github.com/eiffelhub/json 2012-12-13 12:02:27 +01:00
Jocelyn Fiat cb034fc94e Added missing "context" classes for uri and starts_with mapping+handler (and helper classes).
So that it is address more needs.
Factorized code between "context" and non context classes.
2012-12-13 12:01:24 +01:00
Jocelyn Fiat df0d3e584c Fixed issue related to vars that are already converted to WSF_TABLE 2012-12-10 11:00:06 +01:00
Jocelyn Fiat 903495175d Get rid of obsolete scripts
(we do not use git submodule anymore, so this is much easier .. for the users)
2012-12-10 10:59:57 +01:00
Jocelyn Fiat e20cb6b6ed make it compiles with EiffelStudio 7.1 and 7.2 2012-12-07 14:55:38 +01:00
Jocelyn Fiat 926ae823ac compile all-safe.ecf as windows or unix, even if not on Windows or unix 2012-12-05 22:39:43 +01:00
Jocelyn Fiat 39c3e8c5cf corrected null connector ecf files 2012-12-05 22:39:05 +01:00
Jocelyn Fiat 7308a76ac8 Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-12-05 22:31:19 +01:00
Jocelyn Fiat 9499d4aa59 added tests\all-safe.ecf to compile most of EWF's lib, to quickly check the compilation state 2012-12-05 22:30:28 +01:00
Jocelyn Fiat 20c94e927d use libfcgi(-safe).ecf rather than fcgi(-safe).ecf 2012-12-05 22:30:26 +01:00
Jocelyn Fiat 5de14b114e Provide a way to log into a file, rather than just console output
Minor optimization for WSF_LOGGING_FILTER
2012-12-05 22:30:24 +01:00
Jocelyn Fiat a9f3ea7886 Prepare upcoming support for unicode environment variables 2012-12-05 22:30:21 +01:00
Jocelyn Fiat d445559890 removed fcgi(-safe).ecf files ... since there renamed libfcgi(-safe).ecf 2012-12-05 22:30:19 +01:00
Jocelyn Fiat 2ed861e3d9 added tests\all-safe.ecf to compile most of EWF's lib, to quickly check the compilation state 2012-12-05 22:26:58 +01:00
Jocelyn Fiat e1dffa542e use libfcgi(-safe).ecf rather than fcgi(-safe).ecf 2012-12-05 22:21:36 +01:00
Jocelyn Fiat 43df8f573b Provide a way to log into a file, rather than just console output
Minor optimization for WSF_LOGGING_FILTER
2012-12-05 22:20:56 +01:00
Jocelyn Fiat 78b161df16 Prepare upcoming support for unicode environment variables 2012-12-05 22:19:59 +01:00
Jocelyn Fiat bbf63c1cc0 removed fcgi(-safe).ecf files ... since there renamed libfcgi(-safe).ecf 2012-12-05 17:02:32 +01:00
Jocelyn Fiat 156406f9ac Fixed various compilation issue with new self documentation
Improved the self documentation handler to provide a make_hidden creation procedure
2012-12-03 12:20:12 +01:00
Jocelyn Fiat e0166a4c44 Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-12-03 11:30:47 +01:00
Jocelyn Fiat c2fa3cd70a Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-12-03 11:13:59 +01:00
Jocelyn Fiat aa0207bece updated ecf path 2012-12-03 11:12:53 +01:00
Jocelyn Fiat 125d44ff67 Added debug clause to detect in WSF_ROUTER.map_with_request_methods the existing conflicts with similar mapping.
Added smart handling of HEAD request.
Exported some internal features of WSF_REQUEST and WSF_RESPONSE to respectively WSF_REQUEST_EXPORTER and WSF_RESPONSE_EXPORTER
2012-11-26 22:58:48 +01:00
Jocelyn Fiat bdee22f647 added debug_output to WSF_ROUTER_MAPPING 2012-11-26 22:37:44 +01:00
Jocelyn Fiat 8b5353df0a Avoid using INDEXABLE_ITERATION_CURSOR.is_last 2012-11-26 16:06:08 +01:00
Jocelyn Fiat f18ef477b8 Included the library base(-safe).ecf which was forgotten by mistake. 2012-11-25 21:30:10 +01:00
Jocelyn Fiat 63b4f6509e Fixed compilation due to recent changes from http_client and corrected design. 2012-11-25 17:28:27 +01:00
Jocelyn Fiat b7379a6289 Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-11-23 22:52:57 +01:00
Jocelyn Fiat af07986eec New design for self documented router.
The documentation is built only on demand.
A mapping entry can be hidden for the documentation
One can change the status code when building itself the WSF_ROUTER_SELF_DOCUMENTATION_MESSAGE
2012-11-23 22:49:11 +01:00
Jocelyn Fiat 108ab43031 Made encoder and error library compilable with 6.8 2012-11-23 18:56:09 +01:00
Jocelyn Fiat c654759d8e Added SHARED_... classes for encoders (html, url, xml, json, ...) 2012-11-23 18:06:56 +01:00
Jocelyn Fiat f817008bcd Do not use {INDEXABLE_ITERATION_CURSOR}.is_last since it is added from EiffelStudio v7.2 2012-11-23 18:04:21 +01:00
Jocelyn Fiat 66ac29b3fc Updated signatures for the self documentated message 2012-11-23 15:59:56 +01:00
Jocelyn Fiat dcb630ce98 Updated self documentation 2012-11-23 15:52:59 +01:00
Jocelyn Fiat d8b6f80411 Added WSF_NOT_FOUND_RESPONSE to respond 404 Not found page 2012-11-23 15:52:39 +01:00
Jocelyn Fiat 9fcb897b0b Allow to use WSF_ROUTER_SELF_DOCUMENTATION_MESSAGE without any WSF_ROUTER_SELF_DOCUMENTATION_HANDLER
i.e without any specific URL to this self documentation.
Added custom value such as header, footer, style css url ...
2012-11-23 14:12:13 +01:00
Jocelyn Fiat 5926bbc0c2 Fixed signature of WSF_MIME_HANDLER.handle 2012-11-23 12:39:16 +01:00
Jocelyn Fiat 52cc743997 Added WSF_ROUTER.has_item_associated_with_resource and item_associated_with_resource
Added WSF_ROUTER_MAPPING.associated_resource
Added WSF_ROUTER_SELF_DOCUMENTATION_HANDLER and WSF_ROUTER_SELF_DOCUMENTATION_MESSAGE to provide a self documentation for WSF_ROUTER (for now, only HTML)
2012-11-23 12:38:49 +01:00
Jocelyn Fiat ee13393a91 Made WSF_ROUTER_METHODS.new_cursor an INDEXABLE_ITERATION_CURSOR which is richer than just ITERATION_CURSOR 2012-11-23 10:07:33 +01:00
Jocelyn Fiat fdd40ff08d minor change: reuse local variable 2012-11-21 09:48:58 +01:00
Jocelyn Fiat 86540814b3 Include the `url' in the http client response.
This way, we can get the real url used by the lib, especially when there are query parameters.
2012-11-21 09:48:28 +01:00
Jocelyn Fiat 504e013a74 removed "rest" from readme.md 2012-11-20 13:50:40 +01:00
Jocelyn Fiat 59316c9c65 Added WSF_ROUTER_ITEM to replace a structure represented with named TUPLE
Added debug_output to ease debugging
2012-11-20 13:49:40 +01:00
Jocelyn Fiat 6621da202d Removed pseudo rest library from draft libraries. 2012-11-20 13:49:28 +01:00
Jocelyn Fiat ead896e870 Updated git tips related to subtree to avoid weird issue when "pulling" subtree which was putting files in wrong locations. 2012-11-15 16:32:11 +01:00
Jocelyn Fiat e65c2da528 Merge branch 'master' of https://github.com/eiffelhub/json 2012-11-15 16:29:02 +01:00
Jocelyn Fiat ab84e5a7a0 Fixed message for exception_failed_to_convert_to_json
Fixed indentation
2012-11-15 16:18:28 +01:00
Jocelyn Fiat 814ea051f1 Fixed compilation 2012-10-23 13:09:26 +02:00
Jocelyn Fiat 56214129bd Provide `server_url: STRING' that compute the http://server_name:port or https://...
using `server_name', `server_port', `server_protocol' and avoid using `http_host'
which is not reliable and could be cause of security issue.
2012-10-23 12:10:33 +02:00
Jocelyn Fiat 2c2e031944 Fixed Date: formatting, follow RFC 1123 2012-10-23 12:00:59 +02:00
Jocelyn Fiat 50d5254060 Added WSF_REQUEST_UTILITY_PROXY, that provides the WSF_REQUEST_UTILITY features to a class that implement request: WSF_REQUEST 2012-10-22 17:09:57 +02:00
Jocelyn Fiat 7dce121f8c added REST_URI_TEMPLATE_ROUTING_HANDLER 2012-10-22 14:54:02 +02:00
Jocelyn Fiat 2e774f2e10 Added WSF_ROUTING_CONTEXT_HANDLER 2012-10-22 14:27:03 +02:00
Jocelyn Fiat b781caa2c2 Fixing design of draft rest lib (which is going to be removed soon) 2012-10-22 14:04:42 +02:00
Jocelyn Fiat 84d1f20fd0 Do not set default status if a status is already set. 2012-10-22 11:15:52 +02:00
Jocelyn Fiat fb3148aeea Using anchor type to create the router
this is more flexible for eventual descendants redefining the router
2012-10-22 11:15:23 +02:00
Jocelyn Fiat aa743c0a7d Removed generic parameter in WSF_FILTER_HANDLER, since it is useless and make code heavy
Signed-off-by: Olivier Ligot <oligot@gmail.com>
Signed-off-by: Jocelyn Fiat <jfiat@eiffel.com>
2012-10-08 10:40:44 +02:00
Jocelyn Fiat 2d3151e45f Removed unwanted commented line 2012-10-08 09:27:03 +02:00
Jocelyn Fiat 146fd3cc7d Updated "filter" example
Signed-off-by: Olivier Ligot <oligot@gmail.com>
2012-10-08 09:24:19 +02:00
Jocelyn Fiat 016efaed15 Updated Copyright 2012-10-04 15:04:14 +02:00
Jocelyn Fiat d9990df23f updated copyright 2012-10-04 15:01:02 +02:00
Jocelyn Fiat 9333d9c5be Updated filter example to demonstrate the use of context.
(note: this commit is a merged of pull request from Olivier Ligot, and changes from Jocelyn Fiat)

Signed-off-by: Jocelyn Fiat <jfiat@eiffel.com>
Signed-off-by: Olivier Ligot <oligot@gmail.com>
2012-10-04 15:00:44 +02:00
Jocelyn Fiat 55e4602faf Fixed compilation for STARTS_WITH_ handler 2012-10-04 14:52:28 +02:00
Jocelyn Fiat 737213b44c Added WSF_RESOURCE_CONTEXT_HANDLER_HELPER 2012-10-04 14:46:28 +02:00
Jocelyn Fiat 2f6a6cbf5f Added notion of mapping factory, so one can implement a handler without having to implement new_mapping
Added filter context handler
Added WSF_STARTS_WITH_ROUTING_HANDLER and WSF_URI_ROUTING_HANDLER (in addition to the uri template version)
2012-10-04 14:31:03 +02:00
Jocelyn Fiat f7615edec9 fixed wsf_extension path in filter-safe.ecf file 2012-10-03 15:54:22 +02:00
Jocelyn Fiat 6619349f7b Fixed some configuration files (ecf)
Fixed various compilation issue
Fixed draft rest library (still experimental and should be removed in the future)
2012-10-01 12:04:17 +02:00
Jocelyn Fiat e0a88aec26 Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-09-28 14:54:01 +02:00
Jocelyn Fiat 58d4decc58 Added initial experimentation of a CMS built with Eiffel 2012-09-28 14:53:16 +02:00
Jocelyn Fiat 291bb3a33b moved wsf_extension inside wsf/extension as wsf/wsf_extension.ecf
added wsf/session as wsf/wsf_session.ecf
In descendants of WSF_HANDLER , we can keep the result of new_mapping as WSF_ROUTER_MAPPING
2012-09-28 14:42:31 +02:00
Jocelyn Fiat fed7b1d1e6 Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-09-28 11:00:38 +02:00
Jocelyn Fiat 80c1cc1c0d Fixed wizard generated code with new router design 2012-09-27 16:10:50 +02:00
Jocelyn Fiat e01c5bec57 Reviewed the semantic of the handler context.
Adapted existing code to fit the new router design.
2012-09-27 15:09:41 +02:00
Jocelyn Fiat cdb88059bc Fixed Restbuck examples with new router design 2012-09-26 16:41:13 +02:00
Jocelyn Fiat 94a91fa4aa added missing wsf_routing_filter 2012-09-26 09:45:33 +02:00
Jocelyn Fiat 28186efbe7 Applied new ROUTER design to the whole EWF project. 2012-09-25 23:18:17 +02:00
Jocelyn Fiat 0e1f67809c Merge branch 'master' of github.com:EiffelWebFramework/EWF 2012-09-20 10:31:04 +02:00
Jocelyn Fiat 0503e63209 Minor implementation changes (feature renaming, ... ) 2012-09-19 10:50:38 +02:00
Jocelyn Fiat ace897ea2b New ROUTER design, much simpler, less generic, easier to extend, and now one can mix uri map, uri_template map and so on.
Update the "tutorial" example.
2012-09-19 10:50:27 +02:00
Jocelyn Fiat 0f59535696 Added general_encoded_string (..) that accepts READABLE_STRING_GENERAL 2012-09-11 20:53:13 +02:00
Jocelyn Fiat 795f82d51f added WSF_VALUE.is_empty: BOOLEAN 2012-09-10 16:28:25 +02:00
Jocelyn Fiat fbd9cb9588 Added `HTML_ENCODER.general_encoded_string (s: READABLE_STRING_GENERAL): STRING_8'
(note: probably we should do similar change for all the encoders)
2012-09-10 09:36:27 +02:00
Jocelyn Fiat 0d8363aa3f Fixed issue when applying URI_TEMPLATE result to WSF_REQUEST to populate path_parameters', now if we have table parameter for foo[]' .. we ignore any string parameter with same name `foo'
Also fixed issue where the encoded name were changed later, since it kept the same string reference.
Added `WSF_REQUEST.is_post_request_method: BOOLEAN' and `WSF_REQUEST.is_get_request_method: BOOLEAN' to ease app code
2012-09-10 09:35:47 +02:00
Jocelyn Fiat 153a853df5 Added `WSF_TABLE.is_empty: BOOLEAN'
Added `WSF_TABLE.as_array_of_string: detachable ARRAY [READABLE_STRING_32]'
2012-09-10 09:31:27 +02:00
Jocelyn Fiat 45daa731cf Added put_expires_string (s: STRING) and put_expires_date (dt: DATE_TIME)
Better implementation for WSF_FILE_RESPONSE (added last modified, and other caching related info)
2012-09-10 09:27:32 +02:00
Jocelyn Fiat bd15133e2b Also convert from STRING_8 to URI_TEMPLATE (not only from READABLE_STRING_8) 2012-08-31 07:03:15 +02:00
Jocelyn Fiat 0c110169de fixed location of ewf.ini for ISE wizard 2012-08-28 17:06:14 +02:00