Software / code / prosody-modules
File
mod_http_debug/mod_http_debug.lua @ 6282:7b3316ac24b3
mod_http_oauth2: Refactor client grant and response type checks
Iterating over an array instead of creating a Set ought to create fewer
short-lived tables. The arrays are usually very short so shouldn't be a
performance issue.
Moves validation earlier as to do less work before discovering that it
can't proceed anyway.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 02 Jun 2025 22:21:44 +0200 |
| parent | 5492:b6af4d1ff8c1 |
line wrap: on
line source
local json = require "util.json" module:depends("http") local function handle_request(event) local request = event.request; (request.log or module._log)("debug", "%s -- %s %q HTTP/%s -- %q -- %s", request.ip, request.method, request.url, request.httpversion, request.headers, request.body); return { status_code = 200; headers = { content_type = "application/json" }; host = module.host; body = json.encode { body = request.body; headers = request.headers; httpversion = request.httpversion; id = request.id; ip = request.ip; method = request.method; path = request.path; secure = request.secure; url = request.url; }; } end local methods = module:get_option_set("http_debug_methods", { "GET"; "HEAD"; "DELETE"; "OPTIONS"; "PATCH"; "POST"; "PUT" }); local route = {}; for method in methods do route[method] = handle_request; route[method .. " /*"] = handle_request; end module:provides("http", { route = route; })