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 @@
-