Mercurial > prosody-modules
comparison mod_rest/mod_rest.lua @ 4922:816b23e09c20
mod_rest: Improve logging of results from callback startup probe
Especially interested in logging 500 status codes and their errors, to
diagnose problems with the callback API.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 09 Apr 2022 00:43:18 +0200 |
parents | bdac7c717c91 |
children | c83b009b5bc5 |
comparison
equal
deleted
inserted
replaced
4921:bdac7c717c91 | 4922:816b23e09c20 |
---|---|
433 module:set_status("info", "Not yet connected"); | 433 module:set_status("info", "Not yet connected"); |
434 http.request(get_url(st.stanza("meta", { type = "info", to = module.host, from = module.host })), { | 434 http.request(get_url(st.stanza("meta", { type = "info", to = module.host, from = module.host })), { |
435 method = "OPTIONS", | 435 method = "OPTIONS", |
436 }, function (body, code, response) | 436 }, function (body, code, response) |
437 if code == 0 then | 437 if code == 0 then |
438 return module:log_status("error", "Could not connect to callback URL %q: %s", rest_url, body); | 438 module:log_status("error", "Could not connect to callback URL %q: %s", rest_url, body); |
439 elseif code == 200 then | |
440 module:set_status("info", "Connected"); | |
441 if response.headers.accept then | |
442 send_type = decide_type(response.headers.accept, supported_outputs); | |
443 module:log("debug", "Set 'rest_callback_content_type' = %q based on Accept header", send_type); | |
444 end | |
439 else | 445 else |
440 module:set_status("info", "Connected"); | 446 module:log_status("warn", "Unexpected response code %d from OPTIONS probe", code); |
441 end | 447 module:log("warn", "Endpoint said: %s", body); |
442 if code == 200 and response.headers.accept then | |
443 send_type = decide_type(response.headers.accept, supported_outputs); | |
444 module:log("debug", "Set 'rest_callback_content_type' = %q based on Accept header", send_type); | |
445 end | 448 end |
446 end); | 449 end); |
447 | 450 |
448 local code2err = require "net.http.errors".registry; | 451 local code2err = require "net.http.errors".registry; |
449 | 452 |