From 973aec43ea54bbf95b64fbcb636403401d1ca60e Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Fri, 28 Aug 2026 18:03:05 +0200 Subject: Import from e4b104792206ee7ea64bf39c6b7d2c0c230f9d14 --- server/src/req_ctx.cppm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 server/src/req_ctx.cppm (limited to 'server/src/req_ctx.cppm') diff --git a/server/src/req_ctx.cppm b/server/src/req_ctx.cppm new file mode 100644 index 0000000..797c51d --- /dev/null +++ b/server/src/req_ctx.cppm @@ -0,0 +1,51 @@ +module; + +#include +#include + +export module routemon:req_ctx; + +import :http.common; +import :trace; + +namespace routemon { + + export class req_ctx { + trace::id tid_; + std::locale locale_; + http::verb_set route_verbs_; + bool keep_alive_; + bhttp::request_header const& req_header_; + + public: + explicit req_ctx(trace::id tid, std::locale locale, http::verb_set route_verbs, bool keep_alive, bhttp::request_header const& req_header) + : tid_{tid}, locale_{locale}, route_verbs_{route_verbs}, keep_alive_{keep_alive}, req_header_{req_header} + {} + + template + explicit req_ctx(trace::id tid, std::locale locale, http::verb_set route_verbs, bhttp::request const& req) + : req_ctx{tid, locale, route_verbs, req.keep_alive(), req.base()} + {} + + auto trace_id() const -> trace::id { + return tid_; + } + + auto locale() const -> std::locale { + return locale_; + } + + auto route_verbs() const -> http::verb_set { + return route_verbs_; + } + + auto keep_alive() const -> bool { + return keep_alive_; + } + + auto req_header() const -> bhttp::request_header const& { + return req_header_; + } + }; + +} // namespace routemon -- cgit v1.3