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 |