annotate framework/env/request/add_error_handler.lua @ 497:d89813dd4d92
New function request.add_error_handler(...); Allow layout_ident to be passed directly to slot.render_layout(...)
 | author | jbe | 
 | date | Sun Jul 23 02:51:13 2017 +0200 (2017-07-23) | 
 | parents |  | 
 | children |  | 
 
 | rev | line source | 
| jbe@497 | 1 --[[-- | 
| jbe@497 | 2 request.add_error_handler( | 
| jbe@497 | 3   function(errobj, stacktrace) | 
| jbe@497 | 4     ... | 
| jbe@497 | 5   end | 
| jbe@497 | 6 ) | 
| jbe@497 | 7 | 
| jbe@497 | 8 Registers a function to be called after an error occurred during request handling and the error response has been prepared by filling the "trace" and "system_error" slots in request.handler(...). The registered handler may, for example, send an error report to an administrator (utilizing slot.render_layout(...)). The passed handler function gets the error message (or error object) passed as first argument and the stacktrace as second argument. | 
| jbe@497 | 9 | 
| jbe@497 | 10 --]]-- | 
| jbe@497 | 11 | 
| jbe@497 | 12 function request.add_error_handler(func) | 
| jbe@497 | 13   request.configure(function() | 
| jbe@497 | 14     local handlers = request._error_handlers | 
| jbe@497 | 15     handlers[#handlers+1] = func | 
| jbe@497 | 16   end) | 
| jbe@497 | 17 end |