From dbcbdff275f361f9a0f9528c67ae57e9405bc92c Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Sun, 30 Jan 2022 17:09:20 +0400 Subject: [PATCH] Added an optional CSS link to error.html --- src/server/response.cpp | 4 +++- src/server/response.h | 3 ++- static/templates/error.html | 3 +++ test/server.cpp | 7 ++++--- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/server/response.cpp b/src/server/response.cpp index aefa0dc71..f87ffecb5 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -101,7 +101,8 @@ HTTPErrorHtmlResponse::HTTPErrorHtmlResponse(const InternalServer& server, const RequestContext& request, int httpStatusCode, const std::string& pageTitleMsg, - const std::string& headingMsg) + const std::string& headingMsg, + const std::string& cssUrl) : ContentResponseBlueprint(&server, &request, httpStatusCode, @@ -110,6 +111,7 @@ HTTPErrorHtmlResponse::HTTPErrorHtmlResponse(const InternalServer& server, { kainjow::mustache::list emptyList; this->m_data = kainjow::mustache::object{ + {"CSS_URL", onlyAsNonEmptyMustacheValue(cssUrl) }, {"PAGE_TITLE", pageTitleMsg}, {"PAGE_HEADING", headingMsg}, {"details", emptyList} diff --git a/src/server/response.h b/src/server/response.h index 710e2bc0f..1c93434e3 100644 --- a/src/server/response.h +++ b/src/server/response.h @@ -184,7 +184,8 @@ struct HTTPErrorHtmlResponse : ContentResponseBlueprint const RequestContext& request, int httpStatusCode, const std::string& pageTitleMsg, - const std::string& headingMsg); + const std::string& headingMsg, + const std::string& cssUrl = ""); using ContentResponseBlueprint::operator+; HTTPErrorHtmlResponse& operator+(const std::string& msg); diff --git a/static/templates/error.html b/static/templates/error.html index 5fcc0ff2c..711082096 100644 --- a/static/templates/error.html +++ b/static/templates/error.html @@ -3,6 +3,9 @@ {{PAGE_TITLE}} +{{#CSS_URL}} + +{{/CSS_URL}}

{{PAGE_HEADING}}

diff --git a/test/server.cpp b/test/server.cpp index 6467d44fa..de36057cd 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -430,7 +430,8 @@ std::string TestContentIn404HtmlResponse::expectedResponse() const R"FRAG( )FRAG", - R"FRAG( + R"FRAG( + @@ -497,8 +498,7 @@ std::string TestContentIn404HtmlResponse::pageCssLink() const return R"( -)"; + + R"(" rel="Stylesheet" />)"; } std::string TestContentIn404HtmlResponse::hiddenBookNameInput() const @@ -769,6 +769,7 @@ TEST_F(ServerTest, 500) Internal Server Error +

Internal Server Error