From a4408b5ac4ec10421bf9a7d5bf277946ec9f786e Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Thu, 10 Sep 2026 10:59:59 +0200 Subject: Timing and slow locale negotation fixes --- server/src/http_server.cppm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'server/src/http_server.cppm') diff --git a/server/src/http_server.cppm b/server/src/http_server.cppm index 12c83db..2bf3c63 100644 --- a/server/src/http_server.cppm +++ b/server/src/http_server.cppm @@ -200,7 +200,7 @@ auto cors_middleware(std::vector const& allow_origins) } template -auto trace_id_middleware( +auto expose_trace_id_middleware( Ctx ctx, bhttp::request_header& req_hdr, next_handler_t next) -> net::awaitable { @@ -214,6 +214,24 @@ auto trace_id_middleware( co_return std::move(prersp); } +template +auto expose_content_language_middleware( + Ctx ctx, bhttp::request_header& req_hdr, + next_handler_t next) -> net::awaitable +{ + std::ignore = req_hdr; + auto prersp = co_await next(std::move(ctx)); + if (prersp.header().find(bhttp::field::content_language) + == prersp.header().end() + && std::has_facet(ctx.locale)) + { + prersp.header().set( + bhttp::field::content_language, + std::use_facet(ctx.locale).tag()); + } + co_return std::move(prersp); +} + struct keep_alive { bool value; -- cgit v1.3