File

mod_http_debug/mod_http_debug.lua @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parent 5333:10fcfa7e62a1
child 5490:91564b57e595
line wrap: on
line source

local json = require "util.json"

module:depends("http")
module:provides("http", {
		route = {
			GET = function(event)
				local request = event.request;
				return {
					status_code = 200;
					headers = {
						content_type = "application/json",
					},
					body = json.encode {
						body = request.body;
						headers = request.headers;
						httpversion = request.httpversion;
						ip = request.ip;
						method = request.method;
						path = request.path;
						secure = request.secure;
						url = request.url;
					}
				}
			end;
		}
	})