Comparison

mod_http_debug/mod_http_debug.lua @ 5593:04f36a470dca

Update from upstream
author Trần H. Trung <xmpp:trần.h.trung@trung.fun>
date Sun, 09 Jul 2023 01:31:29 +0700
parent 5492:b6af4d1ff8c1
comparison
equal deleted inserted replaced
5591:680fb3344357 5593:04f36a470dca
1 local json = require "util.json" 1 local json = require "util.json"
2 2
3 module:depends("http") 3 module:depends("http")
4 local function handle_request(event)
5 local request = event.request;
6 (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);
7 return {
8 status_code = 200;
9 headers = { content_type = "application/json" };
10 host = module.host;
11 body = json.encode {
12 body = request.body;
13 headers = request.headers;
14 httpversion = request.httpversion;
15 id = request.id;
16 ip = request.ip;
17 method = request.method;
18 path = request.path;
19 secure = request.secure;
20 url = request.url;
21 };
22 }
23 end
24
25 local methods = module:get_option_set("http_debug_methods", { "GET"; "HEAD"; "DELETE"; "OPTIONS"; "PATCH"; "POST"; "PUT" });
26 local route = {};
27 for method in methods do
28 route[method] = handle_request;
29 route[method .. " /*"] = handle_request;
30 end
31
4 module:provides("http", { 32 module:provides("http", {
5 route = { 33 route = route;
6 GET = function(event) 34 })
7 local request = event.request;
8 return {
9 status_code = 200;
10 headers = {
11 content_type = "application/json",
12 },
13 body = json.encode {
14 body = request.body;
15 headers = request.headers;
16 httpversion = request.httpversion;
17 ip = request.ip;
18 method = request.method;
19 path = request.path;
20 secure = request.secure;
21 url = request.url;
22 }
23 }
24 end;
25 }
26 })