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)
125 lines
2.7 KiB
Plaintext
125 lines
2.7 KiB
Plaintext
note
|
|
description: "[
|
|
Options used by WSF_SERVICE_LAUNCHER
|
|
|
|
For instance options supported by Nino as default connector::
|
|
port: numeric such as 8099 (or equivalent string as "8099")
|
|
base: base_url (very specific to standalone server)
|
|
force_single_threaded: use only one thread, useful for Nino
|
|
verbose: to display verbose output, useful for Nino
|
|
]"
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
WSF_SERVICE_LAUNCHER_OPTIONS
|
|
|
|
inherit
|
|
TABLE_ITERABLE [detachable ANY, READABLE_STRING_GENERAL]
|
|
redefine
|
|
default_create
|
|
end
|
|
|
|
create
|
|
default_create,
|
|
make,
|
|
make_from_array,
|
|
make_from_iterable
|
|
|
|
convert
|
|
make_from_array ({ARRAY [TUPLE [name: READABLE_STRING_GENERAL; value: detachable ANY]]})
|
|
|
|
feature {NONE} -- Initialization
|
|
|
|
default_create
|
|
do
|
|
Precursor
|
|
create options.make (0)
|
|
end
|
|
|
|
make
|
|
do
|
|
default_create
|
|
end
|
|
|
|
make_from_array (a_options: ARRAY [TUPLE [name: READABLE_STRING_GENERAL; value: detachable ANY]])
|
|
do
|
|
make
|
|
append_array_of_options (a_options)
|
|
end
|
|
|
|
make_from_iterable (a_options: TABLE_ITERABLE [detachable ANY, READABLE_STRING_GENERAL])
|
|
do
|
|
make
|
|
append_options (a_options)
|
|
end
|
|
|
|
feature -- Merging
|
|
|
|
append_array_of_options (a_options: ARRAY [TUPLE [name: READABLE_STRING_GENERAL; value: detachable ANY]])
|
|
do
|
|
across
|
|
a_options as opt
|
|
loop
|
|
if attached opt.item as o then
|
|
set_option (o.name, o.value)
|
|
end
|
|
end
|
|
end
|
|
|
|
append_options (a_options: TABLE_ITERABLE [detachable ANY, READABLE_STRING_GENERAL])
|
|
do
|
|
across
|
|
a_options as o
|
|
loop
|
|
set_option (o.key, o.item)
|
|
end
|
|
end
|
|
|
|
feature -- Access
|
|
|
|
option (a_name: READABLE_STRING_GENERAL): detachable ANY
|
|
do
|
|
Result := options.item (a_name)
|
|
end
|
|
|
|
feature -- Access
|
|
|
|
new_cursor: TABLE_ITERATION_CURSOR [detachable ANY, READABLE_STRING_GENERAL]
|
|
-- Fresh cursor associated with current structure
|
|
do
|
|
Result := options.new_cursor
|
|
end
|
|
|
|
feature -- Element change
|
|
|
|
set_option (a_name: READABLE_STRING_GENERAL; a_value: detachable ANY)
|
|
do
|
|
options.force (a_value, a_name)
|
|
end
|
|
|
|
set_verbose (b: BOOLEAN)
|
|
-- Set option "verbose" to `b'
|
|
do
|
|
set_option ("verbose", b)
|
|
end
|
|
|
|
feature {NONE} -- Implementation
|
|
|
|
options: STRING_TABLE [detachable ANY]
|
|
-- Custom options which might be support (or not) by the default service
|
|
|
|
invariant
|
|
options_attached: options /= Void
|
|
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
|