net.http.server: Add new API to get HTTP request from a connection 0.12
authorMatthew Wild <mwild1@gmail.com>
Thu, 16 Feb 2023 15:59:26 +0000
branch0.12
changeset 12889 3a6dae39c70e
parent 12886 9ed628635dc6
child 12890 686c3cdd4775
child 12891 68df46926c26
net.http.server: Add new API to get HTTP request from a connection This information is sometimes necessary in the context where we have a connection that we know (or believe to be) associated with an incoming HTTP request. For example, it can be used to retrieve the IP address of a request (which may differ from the IP address of the connection, due to X-Forwarded-For and co). Thanks to the Jitsi team for highlighting this gap in the API.
net/http/server.lua
--- a/net/http/server.lua	Thu Feb 09 22:57:32 2023 +0000
+++ b/net/http/server.lua	Thu Feb 16 15:59:26 2023 +0000
@@ -428,6 +428,10 @@
 function _M.set_option(name, value)
 	options[name] = value;
 end
+function _M.get_request_from_conn(conn)
+	local response = conn and conn._http_open_response;
+	return response and response.request or nil;
+end
 
 _M.listener = listener;
 _M.codes = codes;