88192335b6
Added implicit conversion from agent to WSF_URI_TEMPLATE_AGENT_HANDLER
...
Mainly for convenience.
2013-09-24 15:26:16 +02:00
1d0eb14918
Added WSF_SELF_DOCUMENTED_AGENT_HANDLER and variants for uri, uri_template, starts_with, ...
...
to provide a way to documentate easily wsf agent handler.
2013-09-24 15:23:15 +02:00
9958bb27a1
Removed WSF_ROUTING_HANDLER.make_with_router (a_router)
...
It was not used in existing code, and potentially dangerous, if coder reuses router by accident.
2013-08-20 13:15:37 +02:00
cc4ef1a575
Better support for unicode path and values.
...
Added WSF_REQUEST.percent_encoded_path_info: READABLE_STRING_8
to keep url encoded path info, as it is useful for specific component
The router is now using WSF_REQUEST.percent_encoded_path_info
since URI_TEMPLATE are handling URI (and not IRI)
this fixes an issue with unicode path parameters.
This should not break existing code, and this fixes various unicode related issues related
to PATH parameter and path info
but also any component using file names.
(required EiffelStudio >= 7.2)
2013-06-12 18:03:11 +02:00
Jocelyn Fiat
01cab452d8
Removed WSF_URI_*_ROUTER_HELPER and use instead the WSF_URI_*_HELPER_FOR_ROUTED_SERVICE
...
(the removed class were not in latest release, so this is safe to use the new name)
Cosmetic
2013-03-27 17:00:58 +01:00
Colin Adams
5249275b23
Further changes in response to review comments by Jocelyn
2013-03-27 15:38:13 +00:00
Colin Adams
b321bee60e
merging from upstream - stage 1
2013-03-26 17:04:49 +00:00
Colin Adams
14088f126b
Use class URI
2013-03-26 16:10:32 +00:00
Jocelyn Fiat
de57e814c0
Added WSF_STARTS_WITH_AGENT_HANDLER
2013-03-22 16:07:23 +01:00
Colin Adams
d96a76bffa
Merge branch 'master' into skeleton_router
2013-03-22 14:28:01 +00:00
Jocelyn Fiat
5eb1f89273
Fixing feature comments
2013-03-21 17:53:45 +01:00
Colin Adams
f11dbd9080
fix merge conflict from master
2013-03-21 15:55:14 +00:00
Jocelyn Fiat
813caa15e0
Removed WSF_AGENT_HANDLER since it was an artificial notion,
...
as we have no common ancestor for WSF_HANDLER having
execute (req: WSF_REQUEST; res: WSF_RESPONSE)
2013-03-21 15:50:10 +01:00
Jocelyn Fiat
1f76fd5360
Now WSF_FILTER_HANDLER is a handler and has formal generic G constrained to WSF_HANDLER
...
This eases implementation of potential descendants.
2013-03-21 15:47:10 +01:00
Jocelyn Fiat
7c7bf9a3f8
Introduced WSF_ROUTER_SESSION
...
This fixes CQS violation from WSF_ROUTER.dispatch_and_return_handler (...): ? WSF_HANDLER
and related code, and this is more compliant with concurrency.
In addition, the WSF_ROUTER_SESSION can be enhanced in the future to answer more advanced needs.
2013-03-21 15:41:46 +01:00
Jocelyn Fiat
73f675db60
added WSF_..._ROUTER_HELPER and made the previous WSF_..._ROUTED_SERVICE obsolete
2013-03-19 17:17:14 +01:00
Jocelyn Fiat
3faa2ab815
Moved all *_CONTEXT_* router related classes into wsf_router_context.ecf library
...
This makes wsf simpler to discover.
And advanced context enabled handler, mapping, ... are still available for now in wsf_router_context.ecf library
2013-03-19 11:54:01 +01:00
Jocelyn Fiat
4d7660a9e3
Added deferred WSF_AGENT_HANDLER
...
Added WSF_NOT_IMPLEMENTED_RESPONSE
2013-03-18 22:05:34 +01:00
Colin Adams
7435b4f454
refactored for WSF_ROUTED_SKELETON_SERVICE
2013-03-18 14:45:04 +00:00
Colin Adams
a303783204
Fifth round of contracts for non-Void-safe users
2013-03-15 14:06:37 +00:00
Colin Adams
bb56166f95
Fourth round of contracts for non-Void-safe users
2013-03-15 12:01:54 +00:00
Colin Adams
c6d022bf18
Third iteration of contracts for non-Void-safe users
2013-03-15 10:16:32 +00:00
Colin Adams
3206bcc4fd
Further contracts for non-Void-safe users
2013-03-14 15:29:11 +00:00
Jocelyn Fiat
aa65c16957
Breaking changes:
...
added `a_request_methods' argument to WSF_ROUTER_SELF_DOCUMENTATION_HANDLER.mapping_documentation
added similar argument to WSF_ROUTER_SELF_DOCUMENTATION_ROUTER_MAPPING.documentation
Renamed WSF_ROUTER_METHODS as WSF_REQUEST_METHODS
Enhanced WSF_REQUEST_METHODS with new has_... function
Added WSF_ROUTER_VISITOR and WSF_ROUTER_ITERATOR that may be useful to iterate inside the router.
we may improve the implementation of the router using those visitors in the future.
Improved the WSF_DEFAULT_RESPONSE to embedded suggested items (typically based on pseudo self documented router)
2012-12-19 16:42:26 +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
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
bdee22f647
added debug_output to WSF_ROUTER_MAPPING
2012-11-26 22:37:44 +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
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
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
2e774f2e10
Added WSF_ROUTING_CONTEXT_HANDLER
2012-10-22 14:27:03 +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
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
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