Mercurial > prosody-modules
comparison mod_rest/mod_rest.lua @ 4921: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
| 4920:bdac7c717c91 | 4921: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 |
