Simplified interface of "router" library classes
This commit is contained in:
@@ -20,7 +20,6 @@ feature {NONE} -- Initialization
|
|||||||
router := a_router
|
router := a_router
|
||||||
base_doc_url := a_base_doc_url
|
base_doc_url := a_base_doc_url
|
||||||
description := "Technical documention for the API"
|
description := "Technical documention for the API"
|
||||||
initialize
|
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {NONE} -- Access: Implementation
|
feature {NONE} -- Access: Implementation
|
||||||
@@ -31,7 +30,9 @@ feature {NONE} -- Access: Implementation
|
|||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
authentication_required: BOOLEAN = False
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
|
do
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
@@ -187,7 +188,7 @@ feature -- Execution
|
|||||||
end
|
end
|
||||||
s.append_string ("</strong></div>")
|
s.append_string ("</strong></div>")
|
||||||
end
|
end
|
||||||
s.append_string ("<div class=%"api-auth%">Authentication required: <strong>" + rq.authentication_required.out + "</strong></div>")
|
s.append_string ("<div class=%"api-auth%">Authentication required: <strong>" + rq.authentication_required (req).out + "</strong></div>")
|
||||||
if attached {REST_REQUEST_URI_TEMPLATE_ROUTER_I [REST_REQUEST_HANDLER [REST_REQUEST_URI_TEMPLATE_HANDLER_CONTEXT], REST_REQUEST_URI_TEMPLATE_HANDLER_CONTEXT]} router as l_uri_template_router then
|
if attached {REST_REQUEST_URI_TEMPLATE_ROUTER_I [REST_REQUEST_HANDLER [REST_REQUEST_URI_TEMPLATE_HANDLER_CONTEXT], REST_REQUEST_URI_TEMPLATE_HANDLER_CONTEXT]} router as l_uri_template_router then
|
||||||
create l_uri_tpl.make (a_resource)
|
create l_uri_tpl.make (a_resource)
|
||||||
if attached l_uri_tpl.query_variable_names as l_query_variable_names and then not l_query_variable_names.is_empty then
|
if attached l_uri_tpl.query_variable_names as l_query_variable_names and then not l_query_variable_names.is_empty then
|
||||||
|
|||||||
@@ -22,26 +22,33 @@ create
|
|||||||
|
|
||||||
feature -- status
|
feature -- status
|
||||||
|
|
||||||
authentication_required: BOOLEAN
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
|
do
|
||||||
|
Result := internal_authentication_required
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Element change
|
feature -- Element change
|
||||||
|
|
||||||
set_authentication_required (b: like authentication_required)
|
set_authentication_required (b: like authentication_required)
|
||||||
do
|
do
|
||||||
authentication_required := b
|
internal_authentication_required := b
|
||||||
end
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
|
internal_authentication_required: BOOLEAN
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute (a_hdl_context: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
do
|
do
|
||||||
Precursor {REST_REQUEST_HANDLER} (a_hdl_context, req, res)
|
Precursor {REST_REQUEST_HANDLER} (ctx, req, res)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- execute_application (ctx: REST_REQUEST_HANDLER_CONTEXT; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
-- do
|
do
|
||||||
-- action.call ([ctx, req, res])
|
check should_not_occur: False end
|
||||||
-- end
|
end
|
||||||
|
|
||||||
;note
|
;note
|
||||||
copyright: "Copyright (c) 1984-2011, Eiffel Software and others"
|
copyright: "Copyright (c) 1984-2011, Eiffel Software and others"
|
||||||
|
|||||||
@@ -15,32 +15,74 @@ inherit
|
|||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
authentication_required: BOOLEAN
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
-- Is authentication required
|
-- Is authentication required
|
||||||
-- might depend on the request environment
|
-- might depend on the request environment
|
||||||
-- or the associated resources
|
-- or the associated resources
|
||||||
deferred
|
deferred
|
||||||
end
|
end
|
||||||
|
|
||||||
|
description: detachable STRING
|
||||||
|
-- Optional descriptiong
|
||||||
|
|
||||||
|
feature -- Element change
|
||||||
|
|
||||||
|
set_description (s: like description)
|
||||||
|
-- Set `description' to `s'
|
||||||
|
do
|
||||||
|
description := s
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute (a_hdl_context: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
-- Execute request handler
|
-- Execute request handler
|
||||||
|
local
|
||||||
|
rescued: BOOLEAN
|
||||||
do
|
do
|
||||||
if authentication_required and then not a_hdl_context.authenticated then
|
if not rescued then
|
||||||
execute_unauthorized (a_hdl_context, req, res)
|
if request_method_name_supported (req.request_method) then
|
||||||
|
if authentication_required (req) and then not ctx.authenticated then
|
||||||
|
execute_unauthorized (ctx, req, res)
|
||||||
|
else
|
||||||
|
pre_execute (ctx, req, res)
|
||||||
|
execute_application (ctx, req, res)
|
||||||
|
post_execute (ctx, req, res)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
execute_request_method_not_allowed (req, res, supported_request_method_names)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
Precursor (a_hdl_context, req, res)
|
rescue_execute (ctx, req, res)
|
||||||
end
|
end
|
||||||
|
rescue
|
||||||
|
rescued := True
|
||||||
|
retry
|
||||||
end
|
end
|
||||||
|
|
||||||
execute_unauthorized (a_hdl_context: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
deferred
|
||||||
|
end
|
||||||
|
|
||||||
|
pre_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
do
|
||||||
|
end
|
||||||
|
|
||||||
|
post_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
do
|
||||||
|
end
|
||||||
|
|
||||||
|
rescue_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
do
|
||||||
|
post_execute (ctx, req, res)
|
||||||
|
end
|
||||||
|
|
||||||
|
execute_unauthorized (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
do
|
do
|
||||||
res.set_status_code ({HTTP_STATUS_CODE}.unauthorized)
|
res.set_status_code ({HTTP_STATUS_CODE}.unauthorized)
|
||||||
res.write_header ({HTTP_STATUS_CODE}.unauthorized, <<["WWW-Authenticate", "Basic realm=%"Eiffel auth%""]>>)
|
res.write_header ({HTTP_STATUS_CODE}.unauthorized, Void)
|
||||||
res.write_string ("Unauthorized")
|
res.write_string ("Unauthorized")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
supported_formats: INTEGER
|
supported_formats: INTEGER
|
||||||
@@ -152,6 +194,116 @@ feature -- Element change: formats
|
|||||||
supported_formats := supported_formats | f
|
supported_formats := supported_formats | f
|
||||||
end
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
|
supported_request_methods: INTEGER
|
||||||
|
-- Support request method such as GET, POST, ...
|
||||||
|
|
||||||
|
feature {NONE} -- Status report
|
||||||
|
|
||||||
|
request_method_id_supported (a_id: INTEGER): BOOLEAN
|
||||||
|
do
|
||||||
|
Result := (supported_request_methods & a_id) = a_id
|
||||||
|
end
|
||||||
|
|
||||||
|
request_method_name_supported (n: STRING): BOOLEAN
|
||||||
|
-- Is request method `n' supported?
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported (request_method_constants.method_id (n))
|
||||||
|
end
|
||||||
|
|
||||||
|
request_method_constants: HTTP_REQUEST_METHOD_CONSTANTS
|
||||||
|
once
|
||||||
|
create Result
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Status report
|
||||||
|
|
||||||
|
supported_request_method_names: LIST [STRING]
|
||||||
|
-- Support request method such as GET, POST, ...
|
||||||
|
do
|
||||||
|
create {LINKED_LIST [STRING]} Result.make
|
||||||
|
if method_get_supported then
|
||||||
|
Result.extend (request_method_constants.method_get_name)
|
||||||
|
end
|
||||||
|
if method_post_supported then
|
||||||
|
Result.extend (request_method_constants.method_post_name)
|
||||||
|
end
|
||||||
|
if method_put_supported then
|
||||||
|
Result.extend (request_method_constants.method_put_name)
|
||||||
|
end
|
||||||
|
if method_delete_supported then
|
||||||
|
Result.extend (request_method_constants.method_delete_name)
|
||||||
|
end
|
||||||
|
if method_head_supported then
|
||||||
|
Result.extend (request_method_constants.method_head_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
method_get_supported: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_get)
|
||||||
|
end
|
||||||
|
|
||||||
|
method_post_supported: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_post)
|
||||||
|
end
|
||||||
|
|
||||||
|
method_put_supported: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_put)
|
||||||
|
end
|
||||||
|
|
||||||
|
method_delete_supported: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_delete)
|
||||||
|
end
|
||||||
|
|
||||||
|
method_head_supported: BOOLEAN
|
||||||
|
do
|
||||||
|
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_head)
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Element change: request methods
|
||||||
|
|
||||||
|
reset_supported_request_methods
|
||||||
|
do
|
||||||
|
supported_request_methods := 0
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method_get
|
||||||
|
do
|
||||||
|
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_get)
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method_post
|
||||||
|
do
|
||||||
|
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_post)
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method_put
|
||||||
|
do
|
||||||
|
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_put)
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method_delete
|
||||||
|
do
|
||||||
|
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_delete)
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method_head
|
||||||
|
do
|
||||||
|
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_head)
|
||||||
|
end
|
||||||
|
|
||||||
|
enable_request_method (m: INTEGER)
|
||||||
|
do
|
||||||
|
supported_request_methods := supported_request_methods | m
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
note
|
note
|
||||||
copyright: "Copyright (c) 1984-2011, Eiffel Software and others"
|
copyright: "Copyright (c) 1984-2011, Eiffel Software and others"
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||||
|
|||||||
@@ -29,11 +29,17 @@ feature -- Status report
|
|||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute (a_hdl_context: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
do
|
do
|
||||||
Precursor {REST_REQUEST_HANDLER} (a_hdl_context, req, res)
|
Precursor {REST_REQUEST_HANDLER} (ctx, req, res)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
do
|
||||||
|
check should_not_occur: False end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
feature {NONE} -- Routing
|
feature {NONE} -- Routing
|
||||||
|
|
||||||
router: REST_REQUEST_URI_ROUTER_I [H, C]
|
router: REST_REQUEST_URI_ROUTER_I [H, C]
|
||||||
|
|||||||
@@ -25,13 +25,25 @@ create
|
|||||||
|
|
||||||
feature -- Status report
|
feature -- Status report
|
||||||
|
|
||||||
authentication_required: BOOLEAN
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
|
do
|
||||||
|
Result := internal_authentication_required
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
|
internal_authentication_required: BOOLEAN
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute (a_hdl_context: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
do
|
do
|
||||||
Precursor {REST_REQUEST_HANDLER} (a_hdl_context, req, res)
|
Precursor {REST_REQUEST_HANDLER} (ctx, req, res)
|
||||||
|
end
|
||||||
|
|
||||||
|
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
|
do
|
||||||
|
check should_not_occur: False end
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {NONE} -- Routing
|
feature {NONE} -- Routing
|
||||||
|
|||||||
@@ -35,7 +35,10 @@ feature {NONE} -- Initialization
|
|||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
authentication_required: BOOLEAN = True
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
|
do
|
||||||
|
Result := True
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,9 @@ feature {NONE} -- Initialization
|
|||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
authentication_required: BOOLEAN = False
|
authentication_required (req: WGI_REQUEST): BOOLEAN
|
||||||
|
do
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,13 @@ inherit
|
|||||||
|
|
||||||
APP_REQUEST_HELPER
|
APP_REQUEST_HELPER
|
||||||
|
|
||||||
|
feature {NONE} -- Initialization
|
||||||
|
|
||||||
|
initialize
|
||||||
|
-- Initialize various attributes
|
||||||
|
do
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
wgi_value_iteration_to_string (cur: ITERATION_CURSOR [WGI_VALUE]; using_pre: BOOLEAN): STRING_8
|
wgi_value_iteration_to_string (cur: ITERATION_CURSOR [WGI_VALUE]; using_pre: BOOLEAN): STRING_8
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ feature -- Initialization
|
|||||||
make (act: like action)
|
make (act: like action)
|
||||||
do
|
do
|
||||||
action := act
|
action := act
|
||||||
initialize
|
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
@@ -27,7 +26,7 @@ feature -- Access
|
|||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
do
|
do
|
||||||
action.call ([ctx, req, res])
|
action.call ([ctx, req, res])
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -15,24 +15,12 @@ inherit
|
|||||||
{NONE} all
|
{NONE} all
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {NONE} -- Initialization
|
|
||||||
|
|
||||||
initialize
|
|
||||||
-- Initialize various attributes
|
|
||||||
do
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Access
|
|
||||||
|
|
||||||
description: detachable STRING
|
|
||||||
-- Optional descriptiong
|
|
||||||
|
|
||||||
feature -- Status report
|
feature -- Status report
|
||||||
|
|
||||||
is_valid_context (req: WGI_REQUEST): BOOLEAN
|
is_valid_context (req: WGI_REQUEST): BOOLEAN
|
||||||
-- Is `req' valid context for current handler?
|
-- Is `req' valid context for current handler?
|
||||||
do
|
do
|
||||||
Result := request_method_name_supported (req.request_method)
|
Result := True
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
@@ -41,49 +29,9 @@ feature -- Execution
|
|||||||
-- Execute request handler
|
-- Execute request handler
|
||||||
require
|
require
|
||||||
is_valid_context: is_valid_context (req)
|
is_valid_context: is_valid_context (req)
|
||||||
local
|
|
||||||
rescued: BOOLEAN
|
|
||||||
do
|
|
||||||
if not rescued then
|
|
||||||
if request_method_name_supported (req.request_method) then
|
|
||||||
pre_execute (ctx, req, res)
|
|
||||||
execute_application (ctx, req, res)
|
|
||||||
post_execute (ctx, req, res)
|
|
||||||
else
|
|
||||||
execute_request_method_not_allowed (req, res, supported_request_method_names)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
rescue_execute (ctx, req, res)
|
|
||||||
end
|
|
||||||
rescue
|
|
||||||
rescued := True
|
|
||||||
retry
|
|
||||||
end
|
|
||||||
|
|
||||||
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
|
||||||
-- Execute request handler
|
|
||||||
deferred
|
deferred
|
||||||
end
|
end
|
||||||
|
|
||||||
pre_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
|
||||||
-- Operation processed before `execute'
|
|
||||||
do
|
|
||||||
--| To be redefined if needed
|
|
||||||
end
|
|
||||||
|
|
||||||
post_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
|
||||||
-- Operation processed after `execute'
|
|
||||||
do
|
|
||||||
--| To be redefined if needed
|
|
||||||
end
|
|
||||||
|
|
||||||
rescue_execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
|
||||||
-- Operation processed after a rescue
|
|
||||||
do
|
|
||||||
--| To be redefined if needed
|
|
||||||
post_execute (ctx, req, res)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Execution: report
|
feature -- Execution: report
|
||||||
|
|
||||||
url (req: WGI_REQUEST; a_base: detachable READABLE_STRING_8; args: detachable STRING; abs: BOOLEAN): STRING
|
url (req: WGI_REQUEST; a_base: detachable READABLE_STRING_8; args: detachable STRING; abs: BOOLEAN): STRING
|
||||||
@@ -117,122 +65,6 @@ feature -- Execution: report
|
|||||||
result_attached: Result /= Void
|
result_attached: Result /= Void
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Element change
|
|
||||||
|
|
||||||
set_description (s: like description)
|
|
||||||
-- Set `description' to `s'
|
|
||||||
do
|
|
||||||
description := s
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
|
||||||
|
|
||||||
supported_request_methods: INTEGER
|
|
||||||
-- Support request method such as GET, POST, ...
|
|
||||||
|
|
||||||
feature {NONE} -- Status report
|
|
||||||
|
|
||||||
request_method_id_supported (a_id: INTEGER): BOOLEAN
|
|
||||||
do
|
|
||||||
Result := (supported_request_methods & a_id) = a_id
|
|
||||||
end
|
|
||||||
|
|
||||||
request_method_name_supported (n: STRING): BOOLEAN
|
|
||||||
-- Is request method `n' supported?
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported (request_method_constants.method_id (n))
|
|
||||||
end
|
|
||||||
|
|
||||||
request_method_constants: HTTP_REQUEST_METHOD_CONSTANTS
|
|
||||||
once
|
|
||||||
create Result
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Status report
|
|
||||||
|
|
||||||
supported_request_method_names: LIST [STRING]
|
|
||||||
-- Support request method such as GET, POST, ...
|
|
||||||
do
|
|
||||||
create {LINKED_LIST [STRING]} Result.make
|
|
||||||
if method_get_supported then
|
|
||||||
Result.extend (request_method_constants.method_get_name)
|
|
||||||
end
|
|
||||||
if method_post_supported then
|
|
||||||
Result.extend (request_method_constants.method_post_name)
|
|
||||||
end
|
|
||||||
if method_put_supported then
|
|
||||||
Result.extend (request_method_constants.method_put_name)
|
|
||||||
end
|
|
||||||
if method_delete_supported then
|
|
||||||
Result.extend (request_method_constants.method_delete_name)
|
|
||||||
end
|
|
||||||
if method_head_supported then
|
|
||||||
Result.extend (request_method_constants.method_head_name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
method_get_supported: BOOLEAN
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_get)
|
|
||||||
end
|
|
||||||
|
|
||||||
method_post_supported: BOOLEAN
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_post)
|
|
||||||
end
|
|
||||||
|
|
||||||
method_put_supported: BOOLEAN
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_put)
|
|
||||||
end
|
|
||||||
|
|
||||||
method_delete_supported: BOOLEAN
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_delete)
|
|
||||||
end
|
|
||||||
|
|
||||||
method_head_supported: BOOLEAN
|
|
||||||
do
|
|
||||||
Result := request_method_id_supported ({HTTP_REQUEST_METHOD_CONSTANTS}.method_head)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Element change: request methods
|
|
||||||
|
|
||||||
reset_supported_request_methods
|
|
||||||
do
|
|
||||||
supported_request_methods := 0
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method_get
|
|
||||||
do
|
|
||||||
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_get)
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method_post
|
|
||||||
do
|
|
||||||
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_post)
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method_put
|
|
||||||
do
|
|
||||||
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_put)
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method_delete
|
|
||||||
do
|
|
||||||
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_delete)
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method_head
|
|
||||||
do
|
|
||||||
enable_request_method ({HTTP_REQUEST_METHOD_CONSTANTS}.method_head)
|
|
||||||
end
|
|
||||||
|
|
||||||
enable_request_method (m: INTEGER)
|
|
||||||
do
|
|
||||||
supported_request_methods := supported_request_methods | m
|
|
||||||
end
|
|
||||||
|
|
||||||
note
|
note
|
||||||
copyright: "2011-2011, Eiffel Software and others"
|
copyright: "2011-2011, Eiffel Software and others"
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ inherit
|
|||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|
||||||
execute_application (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
execute (ctx: C; req: WGI_REQUEST; res: WGI_RESPONSE_BUFFER)
|
||||||
-- Execute request handler
|
-- Execute request handler
|
||||||
local
|
local
|
||||||
hdl: detachable H
|
hdl: detachable H
|
||||||
|
|||||||
Reference in New Issue
Block a user