diff options
author | Roland Reichwein <mail@reichwein.it> | 2020-04-19 16:27:43 +0200 |
---|---|---|
committer | Roland Reichwein <mail@reichwein.it> | 2020-04-19 16:27:43 +0200 |
commit | 69b0974cbb6ada27d5bbdf0930e3a225acbaf8fb (patch) | |
tree | e8ca6fcffe2857bcac504275201a0e13bdf7290e | |
parent | 40735bb1229ae0369e7d763964ffbe543334b7c9 (diff) |
Bugfix: Add missing CGI variables: HTTPS, HTTP_REFERER, HTTP_COOKIE
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | plugins/cgi/cgi.cpp | 3 | ||||
-rw-r--r-- | response.cpp | 2 |
3 files changed, 7 insertions, 0 deletions
@@ -124,6 +124,8 @@ deb: dpkg-buildpackage -us -uc -rfakeroot deb-src: + dh_clean + dh_auto_clean dpkg-source -b -I.git -Iresult . $(DISTROS): deb-src diff --git a/plugins/cgi/cgi.cpp b/plugins/cgi/cgi.cpp index b8c2470..318dd1f 100644 --- a/plugins/cgi/cgi.cpp +++ b/plugins/cgi/cgi.cpp @@ -168,6 +168,9 @@ namespace { env["HTTP_CONNECTION"] = c.GetRequestParam("http_connection"); env["HTTP_HOST"] = c.GetRequestParam("http_host"); env["HTTP_USER_AGENT"] = c.GetRequestParam("http_user_agent"); + env["HTTP_REFERER"] = c.GetRequestParam("referer"); + env["HTTP_COOKIE"] = c.GetRequestParam("cookie"); + env["HTTPS"] = c.GetRequestParam("https"); } std::string executeFile(const fs::path& filename, CGIContext& context) diff --git a/response.cpp b/response.cpp index 52081f6..51c9603 100644 --- a/response.cpp +++ b/response.cpp @@ -123,6 +123,8 @@ std::unordered_map<std::string, std::function<std::string(RequestContext&)>> Get return "HTTP/"s + std::to_string(major) + "."s + std::to_string(minor); }}, + {"https", [](RequestContext& req_ctx) { return req_ctx.GetSocket().protocol == SocketProtocol::HTTPS ? "on" : "off"; }}, + {"location", [](RequestContext& req_ctx) { return req_ctx.GetTarget(); }}, {"method", [](RequestContext& req_ctx) { return std::string{req_ctx.GetReq().method_string()};}}, |