diff --git a/src/bank_resp.cpp b/src/bank_resp.cpp index e38a175..d38f04b 100644 --- a/src/bank_resp.cpp +++ b/src/bank_resp.cpp @@ -1,15 +1,15 @@ #include "bank_resp.h" -BankResponse::BankResponse() noexcept = default; +BankResponse::BankResponse() noexcept = default; BankResponse::BankResponse(drogon::HttpStatusCode code, std::string &&str) noexcept : first(code), second(str) {} -BankResponse::BankResponse(drogon::HttpStatusCode code, const std::string &str) noexcept : first(code), second(str) {} +BankResponse::BankResponse(drogon::HttpStatusCode code, const std::string &str) noexcept : first(code), second(str) {} template <> drogon::HttpResponsePtr drogon::toResponse(BankResponse &&data) { - auto res = std::make_shared(data.first, CT_APPLICATION_JSON); + static thread_local auto res = std::make_shared(data.first, CT_APPLICATION_JSON); res->setBody(std::move(data.second)); - auto &advices = HttpAppFrameworkImpl::instance().getResponseCreationAdvices(); + static thread_local auto &advices = HttpAppFrameworkImpl::instance().getResponseCreationAdvices(); if (!advices.empty()) { for (auto &advice : advices)