From 54191bcfabc2ec65def93db8e5fc4be57a676256 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Wed, 6 Dec 2023 14:45:04 +0400 Subject: [PATCH] Retired HTTP500Response::generateResponseObject() ... whereupon `ContentResponseBlueprint::generateResponseObject()` (and `ContentResponseBlueprint` as a whole) no longer needs to be polymorphic. --- src/server/response.cpp | 8 -------- src/server/response.h | 11 +---------- test/server.cpp | 2 +- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/src/server/response.cpp b/src/server/response.cpp index 8ccab1313..b5a962fd9 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -234,14 +234,6 @@ HTTP500Response::HTTP500Response(const RequestContext& request) *this += nonParameterizedMessage("500-page-text"); } -std::unique_ptr HTTP500Response::generateResponseObject() const -{ - const std::string mimeType = "text/html;charset=utf-8"; - auto r = ContentResponse::build(m_template, m_data, mimeType); - r->set_code(m_httpStatusCode); - return r; -} - std::unique_ptr Response::build_416(size_t resourceLength) { auto response = Response::build(); diff --git a/src/server/response.h b/src/server/response.h index 643f67f88..8fe909ed5 100644 --- a/src/server/response.h +++ b/src/server/response.h @@ -128,20 +128,16 @@ public: // functions , m_template(templateStr) {} - virtual ~ContentResponseBlueprint() = default; - operator std::unique_ptr() const { return generateResponseObject(); } + std::unique_ptr generateResponseObject() const; protected: // functions std::string getMessage(const std::string& msgId) const; -public: - virtual std::unique_ptr generateResponseObject() const; - public: //data const RequestContext& m_request; const int m_httpStatusCode; @@ -180,11 +176,6 @@ struct HTTP400Response : HTTPErrorResponse struct HTTP500Response : HTTPErrorResponse { explicit HTTP500Response(const RequestContext& request); - -private: // overrides - // generateResponseObject() is overriden in order to produce a minimal - // response without any need for additional resources from the server - std::unique_ptr generateResponseObject() const override; }; class ItemResponse : public Response { diff --git a/test/server.cpp b/test/server.cpp index 9beed7c2c..f9d09e509 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -1054,7 +1054,7 @@ TEST_F(ServerTest, 500) const auto r = zfs1_->GET("/ROOT%23%3F/content/poor/A/redirect_loop.html"); EXPECT_EQ(r->status, 500); EXPECT_EQ(r->body, expectedBody); - EXPECT_EQ(r->get_header_value("Content-Type"), "text/html;charset=utf-8"); + EXPECT_EQ(r->get_header_value("Content-Type"), "text/html; charset=utf-8"); } }