local json = require("json") core.register_action("collector", { "http-req" }, function(txn) local info = {} local headers = {} local reqbody = txn.sf:req_body() local reqclientip = txn.f:src() local reqheaders = txn.http:req_get_headers() local reqmethod = txn.f:method() local reqpath = txn.f:path() info["body"] = reqbody info["clientip"] = reqclientip local headers = {} for k,v in pairs(reqheaders) do headers[k] = {} for z,y in pairs(v) do table.insert(headers[k],y) end end info["headers"] = headers info["method"] = reqmethod info["path"] = reqpath local infojson = json.encode(info) -- httpclient is a haproxy 2.5+ class local req = httpclient:post{url="https://ipbl.paulbsd.com", body=infojson} txn.Info(txn, infojson) end )