Made 404.html error template a little more generic

The fact that an info message was moved into C++ code is temporary
since it will be moved to a message resource file soon.
This commit is contained in:
Veloman Yunkan 2022-03-24 17:22:41 +04:00 committed by Matthieu Gautier
parent 8cfcf2ea86
commit ae60ba806b
3 changed files with 9 additions and 14 deletions

View File

@ -86,13 +86,15 @@ std::unique_ptr<Response> Response::build_304(const InternalServer& server, cons
std::unique_ptr<ContentResponse> Response::build_404(const InternalServer& server, const std::string& url, const std::string& details)
{
MustacheData data;
kainjow::mustache::list pList;
if ( !url.empty() ) {
data.set("url", url);
kainjow::mustache::mustache msgTmpl(R"(The requested URL "{{url}}" was not found on this server.)");
const auto urlNotFoundMsg = msgTmpl.render({"url", url});
pList.push_back({"p", urlNotFoundMsg});
}
data.set("details", details);
pList.push_back({"p", details});
return build_404(server, data);
return build_404(server, {"details", pList});
}
std::unique_ptr<ContentResponse> Response::build_404(const InternalServer& server, const kainjow::mustache::data& data)

View File

@ -6,15 +6,10 @@
</head>
<body>
<h1>Not Found</h1>
{{#url}}
{{#details}}
<p>
The requested URL "{{url}}" was not found on this server.
{{{p}}}
</p>
{{/url}}
{{#details}}
<p>
{{{details}}}
</p>
{{/details}}
{{/details}}
</body>
</html>

View File

@ -530,7 +530,6 @@ TEST_F(ServerTest, 404WithBodyTesting)
{ /* url */ "/ROOT/random?content=non-existent-book",
expected_body==R"(
<h1>Not Found</h1>
//EOLWHITESPACEMARKER
<p>
No such book: non-existent-book
</p>
@ -539,7 +538,6 @@ TEST_F(ServerTest, 404WithBodyTesting)
{ /* url */ "/ROOT/suggest?content=no-such-book&term=whatever",
expected_body==R"(
<h1>Not Found</h1>
//EOLWHITESPACEMARKER
<p>
No such book: no-such-book
</p>