Retired HTTP500Response::generateResponseObject()

... whereupon `ContentResponseBlueprint::generateResponseObject()` (and
`ContentResponseBlueprint` as a whole) no longer needs to be
polymorphic.
This commit is contained in:
Veloman Yunkan 2023-12-06 14:45:04 +04:00
parent 797f4c432c
commit 54191bcfab
3 changed files with 2 additions and 19 deletions

View File

@ -234,14 +234,6 @@ HTTP500Response::HTTP500Response(const RequestContext& request)
*this += nonParameterizedMessage("500-page-text"); *this += nonParameterizedMessage("500-page-text");
} }
std::unique_ptr<ContentResponse> 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> Response::build_416(size_t resourceLength) std::unique_ptr<Response> Response::build_416(size_t resourceLength)
{ {
auto response = Response::build(); auto response = Response::build();

View File

@ -128,20 +128,16 @@ public: // functions
, m_template(templateStr) , m_template(templateStr)
{} {}
virtual ~ContentResponseBlueprint() = default;
operator std::unique_ptr<Response>() const operator std::unique_ptr<Response>() const
{ {
return generateResponseObject(); return generateResponseObject();
} }
std::unique_ptr<ContentResponse> generateResponseObject() const;
protected: // functions protected: // functions
std::string getMessage(const std::string& msgId) const; std::string getMessage(const std::string& msgId) const;
public:
virtual std::unique_ptr<ContentResponse> generateResponseObject() const;
public: //data public: //data
const RequestContext& m_request; const RequestContext& m_request;
const int m_httpStatusCode; const int m_httpStatusCode;
@ -180,11 +176,6 @@ struct HTTP400Response : HTTPErrorResponse
struct HTTP500Response : HTTPErrorResponse struct HTTP500Response : HTTPErrorResponse
{ {
explicit HTTP500Response(const RequestContext& request); 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<ContentResponse> generateResponseObject() const override;
}; };
class ItemResponse : public Response { class ItemResponse : public Response {