Added "on_handler_mapped" callback

to allow any REQUEST_HANDLER to record the existing routes.
This commit is contained in:
Jocelyn Fiat
2011-09-16 15:11:37 +02:00
parent 18684d167b
commit 3f899f6aae
5 changed files with 11 additions and 2 deletions

View File

@@ -24,7 +24,7 @@
<exclude>/EIFGENs$</exclude>
<exclude>/.svn$</exclude>
</file_rule>
<option warning="true" full_class_checking="true" is_attached_by_default="true" void_safety="all">
<option warning="true" full_class_checking="true" is_attached_by_default="true" void_safety="all" syntax="provisional">
<assertions precondition="true"/>
</option>
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>

View File

@@ -24,7 +24,7 @@
<exclude>/EIFGENs$</exclude>
<exclude>/.svn$</exclude>
</file_rule>
<option warning="true" full_class_checking="true">
<option warning="true" full_class_checking="true" syntax="provisional">
<assertions precondition="true"/>
</option>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>

View File

@@ -65,6 +65,13 @@ feature -- Execution: report
result_attached: Result /= Void
end
feature {REQUEST_ROUTER} -- Routes change
on_handler_mapped (a_resource: READABLE_STRING_8; a_rqst_methods: detachable ARRAY [READABLE_STRING_8])
-- Callback called when a router map a route to Current handler
do
end
note
copyright: "2011-2011, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"

View File

@@ -26,6 +26,7 @@ feature -- Registration
map_with_request_methods (p: READABLE_STRING_8; h: H; rqst_methods: detachable ARRAY [READABLE_STRING_8])
do
handlers.force ([h, p, formatted_request_methods (rqst_methods)])
h.on_handler_mapped (p, rqst_methods)
end
feature {NONE} -- Access: Implementation

View File

@@ -33,6 +33,7 @@ feature -- Registration
do
handlers.force ([h, uri.template, formatted_request_methods (rqst_methods)])
templates.force (uri, uri.template)
h.on_handler_mapped (uri.template, rqst_methods)
end
map_with_request_methods (tpl: READABLE_STRING_8; h: H; rqst_methods: detachable ARRAY [READABLE_STRING_8])