webmcp
annotate framework/env/request/add_initializer.lua @ 255:9e4be058959d
New functions request.add_initializer(...) and request.add_variable(...) to allow per-request initialization; Merged request.process() with request.handler(...)
| author | jbe | 
|---|---|
| date | Sat Mar 14 23:39:47 2015 +0100 (2015-03-14) | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| jbe@255 | 1 --[[-- | 
| jbe@255 | 2 request.add_initializer( | 
| jbe@255 | 3 func -- function to be called on every request | 
| jbe@255 | 4 ) | 
| jbe@255 | 5 | 
| jbe@255 | 6 Registers a function to be called on every request. This mechanism can be used for __init.lua files in the environment to perform a per-request initialization. See env/request/__init.lua for an example. | 
| jbe@255 | 7 | 
| jbe@255 | 8 --]]-- | 
| jbe@255 | 9 | 
| jbe@255 | 10 function request.add_initializer(func) | 
| jbe@255 | 11 local initializers = request._initializers | 
| jbe@255 | 12 initializers[#initializers+1] = func | 
| jbe@255 | 13 if request._in_progress then | 
| jbe@255 | 14 func(true) | 
| jbe@255 | 15 end | 
| jbe@255 | 16 end |