From 2d132d701e661a5ba1f66ec5fbc5860552c47661 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Wed, 29 Nov 2023 17:48:05 +0400 Subject: [PATCH] Dropped the server param from Response::build*() --- src/server/internalServer.cpp | 14 +++++++------- src/server/response.cpp | 16 ++++++++-------- src/server/response.h | 8 ++++---- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index 8cf8d71c5..f495447cd 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -594,12 +594,12 @@ std::unique_ptr InternalServer::handle_request(const RequestContext& r // Redirect /ROOT_LOCATION to /ROOT_LOCATION/ (note the added slash) // so that relative URLs are resolved correctly const std::string query = getSearchComponent(request); - return Response::build_redirect(*this, m_root + "/" + query); + return Response::build_redirect(m_root + "/" + query); } const ETag etag = get_matching_if_none_match_etag(request, getLibraryId()); if ( etag ) - return Response::build_304(*this, etag); + return Response::build_304(etag); const auto url = request.get_url(); if ( isLocallyCustomizedResource(url) ) @@ -640,7 +640,7 @@ std::unique_ptr InternalServer::handle_request(const RequestContext& r const std::string contentUrl = m_root + "/content" + urlEncode(url); const std::string query = getSearchComponent(request); - return Response::build_redirect(*this, contentUrl + query); + return Response::build_redirect(contentUrl + query); } catch (std::exception& e) { fprintf(stderr, "===== Unhandled error : %s\n", e.what()); return HTTP500Response(*this, request) @@ -1101,7 +1101,7 @@ InternalServer::build_redirect(const std::string& bookName, const zim::Item& ite { const auto contentPath = "/content/" + bookName + "/" + item.getPath(); const auto url = m_root + kiwix::urlEncode(contentPath); - return Response::build_redirect(*this, url); + return Response::build_redirect(url); } std::unique_ptr InternalServer::handle_content(const RequestContext& request) @@ -1132,7 +1132,7 @@ std::unique_ptr InternalServer::handle_content(const RequestContext& r const std::string archiveUuid(archive->getUuid()); const ETag etag = get_matching_if_none_match_etag(request, archiveUuid); if ( etag ) - return Response::build_304(*this, etag); + return Response::build_304(etag); auto urlStr = url.substr(prefixLength + bookName.size()); if (urlStr[0] == '/') { @@ -1212,7 +1212,7 @@ std::unique_ptr InternalServer::handle_raw(const RequestContext& reque const std::string archiveUuid(archive->getUuid()); const ETag etag = get_matching_if_none_match_etag(request, archiveUuid); if ( etag ) - return Response::build_304(*this, etag); + return Response::build_304(etag); // Remove the beggining of the path: // /raw///foo @@ -1264,7 +1264,7 @@ std::unique_ptr InternalServer::handle_locally_customized_resource(con auto byteRange = request.get_range().resolve(resourceData.size()); if (byteRange.kind() != ByteRange::RESOLVED_FULL_CONTENT) { - return Response::build_416(*this, resourceData.size()); + return Response::build_416(resourceData.size()); } return ContentResponse::build(*this, diff --git a/src/server/response.cpp b/src/server/response.cpp index f48de5d8a..c0ecabc79 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -132,14 +132,14 @@ void Response::set_kind(Kind k) m_etag.set_option(ETag::ZIM_CONTENT); } -std::unique_ptr Response::build(const InternalServer& server) +std::unique_ptr Response::build() { return std::unique_ptr(new Response()); } -std::unique_ptr Response::build_304(const InternalServer& server, const ETag& etag) +std::unique_ptr Response::build_304(const ETag& etag) { - auto response = Response::build(server); + auto response = Response::build(); response->set_code(MHD_HTTP_NOT_MODIFIED); response->m_etag = etag; if ( etag.get_option(ETag::ZIM_CONTENT) ) { @@ -251,9 +251,9 @@ std::unique_ptr HTTP500Response::generateResponseObject() const return r; } -std::unique_ptr Response::build_416(const InternalServer& server, size_t resourceLength) +std::unique_ptr Response::build_416(size_t resourceLength) { - auto response = Response::build(server); + auto response = Response::build(); // [FIXME] (compile with recent enough version of libmicrohttpd) // response->set_code(MHD_HTTP_RANGE_NOT_SATISFIABLE); response->set_code(416); @@ -265,9 +265,9 @@ std::unique_ptr Response::build_416(const InternalServer& server, size } -std::unique_ptr Response::build_redirect(const InternalServer& server, const std::string& redirectUrl) +std::unique_ptr Response::build_redirect(const std::string& redirectUrl) { - auto response = Response::build(server); + auto response = Response::build(); response->m_returnCode = MHD_HTTP_FOUND; response->add_header(MHD_HTTP_HEADER_LOCATION, redirectUrl); return response; @@ -440,7 +440,7 @@ std::unique_ptr ItemResponse::build(const InternalServer& server, cons } if (byteRange.kind() == ByteRange::RESOLVED_UNSATISFIABLE) { - auto response = Response::build_416(server, item.getSize()); + auto response = Response::build_416(item.getSize()); response->set_kind(Response::ZIM_CONTENT); return response; } diff --git a/src/server/response.h b/src/server/response.h index 3adae56b1..197c3145b 100644 --- a/src/server/response.h +++ b/src/server/response.h @@ -57,10 +57,10 @@ class Response { Response(); virtual ~Response() = default; - static std::unique_ptr build(const InternalServer& server); - static std::unique_ptr build_304(const InternalServer& server, const ETag& etag); - 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); + static std::unique_ptr build(); + static std::unique_ptr build_304(const ETag& etag); + static std::unique_ptr build_416(size_t resourceLength); + static std::unique_ptr build_redirect(const std::string& redirectUrl); MHD_Result send(const RequestContext& request, bool verbose, MHD_Connection* connection);