Refactored WSF_HANDLER_CONTEXT
- removed path_parameter - added `item' to include WSF_REQUEST.item - marked obsolete `parameter' The goal is to remove confusion, remove URI_TEMPLATE specific `path_parameter' and provide a way to use ctx.item (..) to also include meta variable, query, form, ... items
This commit is contained in:
@@ -9,6 +9,9 @@ class
|
||||
|
||||
inherit
|
||||
WSF_HANDLER_CONTEXT
|
||||
redefine
|
||||
item
|
||||
end
|
||||
|
||||
create
|
||||
make
|
||||
@@ -29,7 +32,20 @@ feature -- Access
|
||||
|
||||
uri_template_match: URI_TEMPLATE_MATCH_RESULT
|
||||
|
||||
feature -- Query
|
||||
|
||||
feature -- Item
|
||||
|
||||
item (a_name: READABLE_STRING_8): detachable WSF_VALUE
|
||||
-- Variable value for parameter or variable `a_name'
|
||||
-- See `{WSF_REQUEST}.item(s)'
|
||||
do
|
||||
Result := path_parameter (a_name)
|
||||
if Result = Void then
|
||||
Result := request.item (a_name)
|
||||
end
|
||||
end
|
||||
|
||||
feature -- Path parameter
|
||||
|
||||
path_parameter (a_name: READABLE_STRING_8): detachable WSF_VALUE
|
||||
do
|
||||
@@ -38,13 +54,30 @@ feature -- Query
|
||||
end
|
||||
end
|
||||
|
||||
query_parameter (a_name: READABLE_STRING_8): detachable WSF_VALUE
|
||||
is_integer_path_parameter (a_name: READABLE_STRING_8): BOOLEAN
|
||||
-- Is path parameter related to `a_name' an integer value?
|
||||
do
|
||||
if attached uri_template_match.url_decoded_query_variable (a_name) as s then
|
||||
create {WSF_STRING} Result.make (a_name, s)
|
||||
else
|
||||
Result := request.query_parameter (a_name)
|
||||
end
|
||||
Result := attached string_path_parameter (a_name) as s and then s.is_integer
|
||||
end
|
||||
|
||||
integer_path_parameter (a_name: READABLE_STRING_8): INTEGER
|
||||
-- Integer value for path parameter `a_name' if relevant.
|
||||
require
|
||||
is_integer_path_parameter: is_integer_path_parameter (a_name)
|
||||
do
|
||||
Result := integer_from (path_parameter (a_name))
|
||||
end
|
||||
|
||||
string_path_parameter (a_name: READABLE_STRING_8): detachable READABLE_STRING_32
|
||||
-- String value for path parameter `a_name' if relevant.
|
||||
do
|
||||
Result := string_from (path_parameter (a_name))
|
||||
end
|
||||
|
||||
string_array_path_parameter (a_name: READABLE_STRING_8): detachable ARRAY [READABLE_STRING_32]
|
||||
-- Array of string values for path parameter `a_name' if relevant.
|
||||
do
|
||||
Result := string_array_for (a_name, agent string_path_parameter)
|
||||
end
|
||||
|
||||
note
|
||||
|
||||
Reference in New Issue
Block a user