webmcp
diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/framework/env/request/add_error_handler.lua Sun Jul 23 02:51:13 2017 +0200 1.3 @@ -0,0 +1,17 @@ 1.4 +--[[-- 1.5 +request.add_error_handler( 1.6 + function(errobj, stacktrace) 1.7 + ... 1.8 + end 1.9 +) 1.10 + 1.11 +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. 1.12 + 1.13 +--]]-- 1.14 + 1.15 +function request.add_error_handler(func) 1.16 + request.configure(function() 1.17 + local handlers = request._error_handlers 1.18 + handlers[#handlers+1] = func 1.19 + end) 1.20 +end