Mercurial > prosody-modules
diff mod_rest/mod_rest.lua @ 3909:eb27e51cf2c9
mod_rest: Handle uncaught native errors correctly
Previously they would slip through and be returned over HTTP with 200 OK.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 26 Feb 2020 18:04:17 +0000 |
parents | 3d0e8e32453c |
children | 49efd1323a1b |
line wrap: on
line diff
--- a/mod_rest/mod_rest.lua Wed Feb 26 17:57:53 2020 +0000 +++ b/mod_rest/mod_rest.lua Wed Feb 26 18:04:17 2020 +0000 @@ -142,7 +142,10 @@ return encode(send_type, result.stanza); end, function (error) - if error.context and error.context.stanza then + if not errors.is_err(error) then + module:log("error", "Uncaught native error: %s", error); + return select(2, errors.coerce(nil, error)); + elseif error.context and error.context.stanza then response.headers.content_type = send_type; module:log("debug", "Sending[rest]: %s", error.context.stanza:top_tag()); return encode(send_type, error.context.stanza);