diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index a2fa89fe8..8cf8d71c5 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -558,7 +558,7 @@ MHD_Result InternalServer::handlerCallback(struct MHD_Connection* connection, response->set_etag_body(getLibraryId()); } - auto ret = response->send(request, connection); + auto ret = response->send(request, m_verbose.load(), connection); auto end_time = std::chrono::steady_clock::now(); auto time_span = std::chrono::duration_cast>(end_time - start_time); if (m_verbose.load()) { diff --git a/src/server/internalServer.h b/src/server/internalServer.h index cdd7cebe2..5abd643bf 100644 --- a/src/server/internalServer.h +++ b/src/server/internalServer.h @@ -189,9 +189,7 @@ class InternalServer { class CustomizedResources; std::unique_ptr m_customizedResources; - friend std::unique_ptr Response::build(const InternalServer& server); friend std::unique_ptr ContentResponse::build(const InternalServer& server, const std::string& content, const std::string& mimetype); - friend std::unique_ptr ItemResponse::build(const InternalServer& server, const RequestContext& request, const zim::Item& item); }; } diff --git a/src/server/response.cpp b/src/server/response.cpp index e3c501798..f48de5d8a 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -119,9 +119,8 @@ const char* getCacheControlHeader(Response::Kind k) } // unnamed namespace -Response::Response(bool verbose) - : m_verbose(verbose), - m_returnCode(MHD_HTTP_OK) +Response::Response() + : m_returnCode(MHD_HTTP_OK) { add_header(MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*"); } @@ -135,7 +134,7 @@ void Response::set_kind(Kind k) std::unique_ptr Response::build(const InternalServer& server) { - return std::unique_ptr(new Response(server.m_verbose.load())); + return std::unique_ptr(new Response()); } std::unique_ptr Response::build_304(const InternalServer& server, const ETag& etag) @@ -363,7 +362,7 @@ ContentResponse::create_mhd_response(const RequestContext& request) return response; } -MHD_Result Response::send(const RequestContext& request, MHD_Connection* connection) +MHD_Result Response::send(const RequestContext& request, bool verbose, MHD_Connection* connection) { MHD_Response* response = create_mhd_response(request); @@ -379,7 +378,7 @@ MHD_Result Response::send(const RequestContext& request, MHD_Connection* connect if (m_returnCode == MHD_HTTP_OK && m_byteRange.kind() == ByteRange::RESOLVED_PARTIAL_CONTENT) m_returnCode = MHD_HTTP_PARTIAL_CONTENT; - if (m_verbose) + if (verbose) print_response_info(m_returnCode, response); auto ret = MHD_queue_response(connection, m_returnCode, response); @@ -387,8 +386,8 @@ MHD_Result Response::send(const RequestContext& request, MHD_Connection* connect return ret; } -ContentResponse::ContentResponse(const std::string& root, bool verbose, const std::string& content, const std::string& mimetype) : - Response(verbose), +ContentResponse::ContentResponse(const std::string& root, const std::string& content, const std::string& mimetype) : + Response(), m_root(root), m_content(content), m_mimeType(mimetype) @@ -403,7 +402,6 @@ std::unique_ptr ContentResponse::build( { return std::unique_ptr(new ContentResponse( server.m_root, - server.m_verbose.load(), content, mimetype)); } @@ -418,8 +416,8 @@ std::unique_ptr ContentResponse::build( return ContentResponse::build(server, content, mimetype); } -ItemResponse::ItemResponse(bool verbose, const zim::Item& item, const std::string& mimetype, const ByteRange& byterange) : - Response(verbose), +ItemResponse::ItemResponse(const zim::Item& item, const std::string& mimetype, const ByteRange& byterange) : + Response(), m_item(item), m_mimeType(mimetype) { @@ -448,7 +446,6 @@ std::unique_ptr ItemResponse::build(const InternalServer& server, cons } return std::unique_ptr(new ItemResponse( - server.m_verbose.load(), item, mimetype, byteRange)); diff --git a/src/server/response.h b/src/server/response.h index 6cde15f5b..3adae56b1 100644 --- a/src/server/response.h +++ b/src/server/response.h @@ -54,7 +54,7 @@ class Response { }; public: - Response(bool verbose); + Response(); virtual ~Response() = default; static std::unique_ptr build(const InternalServer& server); @@ -62,7 +62,7 @@ class Response { static std::unique_ptr build_416(const InternalServer& server, size_t resourceLength); static std::unique_ptr build_redirect(const InternalServer& server, const std::string& redirectUrl); - MHD_Result send(const RequestContext& request, MHD_Connection* connection); + MHD_Result send(const RequestContext& request, bool verbose, MHD_Connection* connection); void set_code(int code) { m_returnCode = code; } void set_kind(Kind k); @@ -78,7 +78,6 @@ class Response { protected: // data Kind m_kind = DYNAMIC_CONTENT; - bool m_verbose; int m_returnCode; ByteRange m_byteRange; ETag m_etag; @@ -92,7 +91,6 @@ class ContentResponse : public Response { public: ContentResponse( const std::string& root, - bool verbose, const std::string& content, const std::string& mimetype); @@ -199,7 +197,7 @@ private: // overrides class ItemResponse : public Response { public: - ItemResponse(bool verbose, const zim::Item& item, const std::string& mimetype, const ByteRange& byterange); + ItemResponse(const zim::Item& item, const std::string& mimetype, const ByteRange& byterange); static std::unique_ptr build(const InternalServer& server, const RequestContext& request, const zim::Item& item); private: