diff --git a/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_routed_service.e b/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_routed_service.e deleted file mode 100644 index d595c3e4..00000000 --- a/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_routed_service.e +++ /dev/null @@ -1,28 +0,0 @@ -note - description: "Summary description for {WSF_URI_TEMPLATE_ROUTED_SERVICE}." - author: "" - date: "$Date$" - revision: "$Revision$" - -deferred class WSF_URI_TEMPLATE_ROUTED_SERVICE - -obsolete "Inherit from WSF_ROUTED_SERVICE and WSF_URI_ROUTER_HELPER [2013-mar-19]" - -inherit - - WSF_ROUTED_SERVICE - - WSF_URI_TEMPLATE_ROUTER_HELPER - - -note - copyright: "2011-2013, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others" - license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" - source: "[ - Eiffel Software - 5949 Hollister Ave., Goleta, CA 93117 USA - Telephone 805-685-1006, Fax 805-685-6869 - Website http://www.eiffel.com - Customer support http://support.eiffel.com - ]" -end diff --git a/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_router_helper.e b/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_router_helper.e deleted file mode 100644 index cf60b7f0..00000000 --- a/library/server/wsf/router/support/uri_template/helpers/wsf_uri_template_router_helper.e +++ /dev/null @@ -1,66 +0,0 @@ -note - description: "Summary description for {WSF_URI_TEMPLATE_ROUTER_HELPER}." - author: "" - date: "$Date$" - revision: "$Revision$" - -deferred class - WSF_URI_TEMPLATE_ROUTER_HELPER - -feature -- Access - - router: WSF_ROUTER - deferred - end - -feature -- Mapping helper: uri - - map_uri_template (a_tpl: STRING; h: WSF_URI_TEMPLATE_HANDLER) - -- Map `h' as handler for `a_tpl' - require - a_tpl_attached: a_tpl /= Void - h_attached: h /= Void - do - map_uri_template_with_request_methods (a_tpl, h, Void) - end - - map_uri_template_with_request_methods (a_tpl: READABLE_STRING_8; h: WSF_URI_TEMPLATE_HANDLER; rqst_methods: detachable WSF_REQUEST_METHODS) - -- Map `h' as handler for `a_tpl' for request methods `rqst_methods'. - require - a_tpl_attached: a_tpl /= Void - h_attached: h /= Void - do - router.map_with_request_methods (create {WSF_URI_TEMPLATE_MAPPING}.make (a_tpl, h), rqst_methods) - end - -feature -- Mapping helper: uri agent - - map_uri_template_agent (a_tpl: READABLE_STRING_8; proc: PROCEDURE [ANY, TUPLE [req: WSF_REQUEST; res: WSF_RESPONSE]]) - -- Map `proc' as handler for `a_tpl' - require - a_tpl_attached: a_tpl /= Void - proc_attached: proc /= Void - do - map_uri_template_agent_with_request_methods (a_tpl, proc, Void) - end - - map_uri_template_agent_with_request_methods (a_tpl: READABLE_STRING_8; proc: PROCEDURE [ANY, TUPLE [req: WSF_REQUEST; res: WSF_RESPONSE]]; rqst_methods: detachable WSF_REQUEST_METHODS) - -- Map `proc' as handler for `a_tpl' for request methods `rqst_methods'. - require - a_tpl_attached: a_tpl /= Void - proc_attached: proc /= Void - do - map_uri_template_with_request_methods (a_tpl, create {WSF_URI_TEMPLATE_AGENT_HANDLER}.make (proc), rqst_methods) - end - -note - copyright: "2011-2013, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others" - license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" - source: "[ - Eiffel Software - 5949 Hollister Ave., Goleta, CA 93117 USA - Telephone 805-685-1006, Fax 805-685-6869 - Website http://www.eiffel.com - Customer support http://support.eiffel.com - ]" -end diff --git a/library/server/wsf/router/wsf_no_proxy_policy.e b/library/server/wsf/router/wsf_no_proxy_policy.e index 3397b30f..36aa4d7e 100644 --- a/library/server/wsf/router/wsf_no_proxy_policy.e +++ b/library/server/wsf/router/wsf_no_proxy_policy.e @@ -26,10 +26,11 @@ feature -- Access do end - proxy_server (req: WSF_REQUEST): READABLE_STRING_8 -- We can't currently use UT_URI + proxy_server (req: WSF_REQUEST): URI -- Absolute URI of proxy server which `req' must use do - Result := "" -- doesn't meet the postcondition, but the precondition is never true. + create Result.make_from_string ("") + -- doesn't meet the postcondition, but the precondition is never true. end end diff --git a/library/server/wsf/router/wsf_proxy_use_policy.e b/library/server/wsf/router/wsf_proxy_use_policy.e index 7c1c046c..a788c977 100644 --- a/library/server/wsf/router/wsf_proxy_use_policy.e +++ b/library/server/wsf/router/wsf_proxy_use_policy.e @@ -7,7 +7,7 @@ note The default policy implemented here is to require use of the proxy for HTTP/1.0 clients (only) for all requests. ]" - + date: "$Date$" revision: "$Revision$" @@ -25,16 +25,18 @@ feature -- Access end end - proxy_server (req: WSF_REQUEST): READABLE_STRING_8 -- We can't currently use UT_URI + proxy_server (req: WSF_REQUEST): URI -- Absolute URI of proxy server which `req' must use - --| An alternative design would allow a relative URI (relative to the server host), - --| which will only work if both the server and the proxy use the default ports. require req_attached: req /= Void proxy_required: requires_proxy (req) deferred ensure - absolute_uri: True -- We can't currently use UT_URI to check this. Have we got another class? + proxy_server_attached: Result /= Void + valid_uri: Result.is_valid + absolute_uri: not Result.scheme.is_empty + http_or_https: Result.scheme.is_case_insensitive_equal ("http") or + Result.scheme.is_case_insensitive_equal ("https") end is_http_1_0 (req: WSF_REQUEST): BOOLEAN @@ -73,4 +75,14 @@ feature -- Access end end +note + copyright: "2011-2013, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 5949 Hollister Ave., Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" end diff --git a/library/server/wsf/router/wsf_routed_skeleton_service.e b/library/server/wsf/router/wsf_routed_skeleton_service.e index 94440c6e..9aff9444 100644 --- a/library/server/wsf/router/wsf_routed_skeleton_service.e +++ b/library/server/wsf/router/wsf_routed_skeleton_service.e @@ -251,7 +251,7 @@ feature {NONE} -- Implementation create h.make h.put_content_type_text_plain h.put_current_date - h.put_location (proxy_server (req)) + h.put_location (proxy_server (req).string) h.put_content_length (0) res.set_status_code ({HTTP_STATUS_CODE}.use_proxy) ensure diff --git a/library/server/wsf/wsf-safe.ecf b/library/server/wsf/wsf-safe.ecf index 5c654920..dbb91df7 100644 --- a/library/server/wsf/wsf-safe.ecf +++ b/library/server/wsf/wsf-safe.ecf @@ -16,7 +16,9 @@ - + + diff --git a/library/server/wsf/wsf.ecf b/library/server/wsf/wsf.ecf index 7c540415..3d19ec4d 100644 --- a/library/server/wsf/wsf.ecf +++ b/library/server/wsf/wsf.ecf @@ -16,7 +16,9 @@ - + + diff --git a/tests/all-safe.ecf b/tests/all-safe.ecf index 736905b6..314749de 100644 --- a/tests/all-safe.ecf +++ b/tests/all-safe.ecf @@ -11,33 +11,33 @@ + - - - - + + + - + + + + + - + + - - - - - - + Compiling as Windows , on other platforms than Windows @@ -49,5 +49,4 @@ -