annotate framework/env/request/forward.lua @ 113:ca88032cb37c
Anchor (#) support for redirect and routing
 | author | jbe | 
 | date | Sun Jan 19 14:47:08 2014 +0100 (2014-01-19) | 
 | parents | 9fdfb27f8e67 | 
 | children |  | 
 
 | rev | line source | 
| jbe/bsw@0 | 1 --[[-- | 
| jbe/bsw@0 | 2 request.forward{ | 
| jbe/bsw@0 | 3   module = module,  -- module name | 
| jbe/bsw@0 | 4   view   = view     -- view name | 
| jbe/bsw@0 | 5 } | 
| jbe/bsw@0 | 6 | 
| jbe/bsw@0 | 7 This function is called automatically to forward to another view, after an action and all its filters have finished execution, if routing mode "forward" has been chosen. Calling request.forward{...} (or request.redirect{...}) explicitly inside an action will cause routing information from the browser to be ignored. Calling request.forward{...} causes all GET/POST parameters of the action to be preserved for the given view. | 
| jbe/bsw@0 | 8 | 
| jbe/bsw@0 | 9 --]]-- | 
| jbe/bsw@0 | 10 | 
| jbe/bsw@0 | 11 function request.forward(args) | 
| jbe/bsw@0 | 12   if request.is_rerouted() then | 
| jbe/bsw@0 | 13     error("Tried to forward after another forward or redirect.") | 
| jbe/bsw@0 | 14   end | 
| jbe/bsw@0 | 15   request._forward = args | 
| jbe/bsw@0 | 16   trace.forward { module = args.module, view = args.view } | 
| jbe/bsw@0 | 17 end |