Commit Graph

207 Commits

Author SHA1 Message Date
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
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
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
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
2e774f2e10 Added WSF_ROUTING_CONTEXT_HANDLER 2012-10-22 14:27:03 +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
016efaed15 Updated Copyright 2012-10-04 15:04:14 +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
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
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
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
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
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
795f82d51f added WSF_VALUE.is_empty: BOOLEAN 2012-09-10 16:28:25 +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
Olivier Ligot
74334e665d [ADD] Filter: pre-process incoming data and post-process outgoing data
Filters are part of a filter chain, thus following the chain of responsability
design pattern.
More information are available in library/server/wsf/src/filter/README.md
2012-08-10 10:09:59 +02:00
Jocelyn Fiat
0665085eee updated to use WSF_STRING.value instead of obsolete WSF_STRING.string 2012-06-29 10:48:21 +02:00
Jocelyn Fiat
23de980e57 added methods_head_get_post and methods_head_get 2012-06-15 10:54:53 +02:00
Jocelyn Fiat
ad5fed84ca Fixed previous commit where nino .ecf path was empty. 2012-06-15 10:53:32 +02:00
Jocelyn Fiat
3702842337 Updated structure of EWF, applied
Now "nino" is under contrib/library/network/server/nino  (as git merge subtree, and not anymore as submodule)
2012-06-14 13:35:08 +02:00
Jocelyn Fiat
2b730186a2 Fixing issue with HEAD and make_from_iterable 2012-06-14 12:28:52 +02:00
Jocelyn Fiat
db448001a1 Change structure of EWF, to follow better categorization 2012-06-13 22:32:17 +02:00
Jocelyn Fiat
8a58d62a7e Adopted convention name and value or values for WSF_VALUE and descendant (WSF_STRING ...)
kept `key' as redirection, and also string as obsolete redirection.
Router: provide a way to pass the request methods without using manifest string, thanks to WSF_ROUTER_METHODS
  so instead of using manifest array or manifest strings, just create an instance of WSF_ROUTER_METHODS
  for convenience, WSF_ROUTER provides a few `methods_...' returning prebuilt WSF_ROUTER_METHODS objects
Improved code related to unicode handling in URL, and parameters (before the framework was doing too much)
2012-06-11 14:58:13 +02:00
Jocelyn Fiat
0d5011b03e Added html encoding facility to WSF_STRING
Added WSF_STRING.is_empty
Improved HTML_ENCODER to be able to decode a STRING_8 or STRING_32 using general_decoded_string (s)
Improved tutorial example
Added precompilation for WSF library
Cosmetic (removed unused locals)
2012-05-30 09:36:55 +02:00
Jocelyn Fiat
445a27ddf8 Now inherit create_router ; but it is still possible to redefine it.
Added some wsf_reponse_message for redirection
Use "found" for the redirec_now ...
Added content to the tutorial
2012-05-28 10:54:05 +02:00
Jocelyn Fiat
171be24d2a Better us OK status for redirection by default 2012-05-25 23:56:10 +02:00
Jocelyn Fiat
03bf467ee5 Added descriptions to WSF_RESPONSE about .send (mesg)
Fixed minor issues in other classes
2012-05-25 23:51:59 +02:00
Jocelyn Fiat
6cff00428b Protected export of WSF_RESPONSE_MESSAGE.send_to
Added WSF_DEFAULT_RESPONSE_SERVICE
Added simple WSF_SERVICE_LAUNCHER_OPTIONS_FROM_INI class to load launch option from ini file.

Removed a few obsolete features
2012-05-25 20:17:55 +02:00
Jocelyn Fiat
00a88e98e5 Updated indexing notes
started tutorial
Sync
2012-05-25 17:47:43 +02:00
Berend de Boer
2ff3cff70f Do not use 307 but 302 response 2012-05-21 17:18:12 +02:00
Jocelyn Fiat
c3c27c5027 Rather use (READABLE_)STRING_GENERAL for argument instead of _8 or _32 variant
Better design to set the WSF_REQUEST.path_parameters
   especially handle the case where the request goes trought more than one route (could be the case when using WSF_ROUTING_HANDLER)
2012-05-14 18:12:28 +02:00
Jocelyn Fiat
278a71eaaf Reviewed WSF_REQUEST.item (..) and items to look into Form, Query, and Path (cookie are excluded for security)
Added WSF_REQUEST.path_parameter (a_name): detachable WSF_VALUE
   - fill path_parameters using `import_raw_path_parameters"
     when executing the route
   - reset to previous value with reset_path_parameters (..),
     just in case the request is executed via severals routes.
2012-05-07 23:16:52 +02:00
Jocelyn Fiat
4508a76683 Now the http_client will send the form parameters urlencoded if this is possible (instead of multipart form data)
Note for now, the library does not support sending file and form parameters at the same time.
2012-05-04 12:23:37 +02:00