More uses of HTTP404HtmlResponse

This commit is contained in:
Veloman Yunkan 2022-01-23 21:57:10 +04:00 committed by Matthieu Gautier
parent 1a5e2eda0f
commit d5ae92e4e2
2 changed files with 20 additions and 10 deletions

View File

@ -278,8 +278,10 @@ MHD_Result InternalServer::handlerCallback(struct MHD_Connection* connection,
std::unique_ptr<Response> InternalServer::handle_request(const RequestContext& request)
{
try {
if (! request.is_valid_url())
return Response::build_404(*this, request.get_full_url());
if (! request.is_valid_url()) {
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
const ETag etag = get_matching_if_none_match_etag(request);
if ( etag )
@ -476,7 +478,8 @@ std::unique_ptr<Response> InternalServer::handle_skin(const RequestContext& requ
response->set_cacheable();
return std::move(response);
} catch (const ResourceNotFound& e) {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
}
@ -636,8 +639,10 @@ std::unique_ptr<Response> InternalServer::handle_captured_external(const Request
source = kiwix::urlDecode(request.get_argument("source"));
} catch (const std::out_of_range& e) {}
if (source.empty())
return Response::build_404(*this, request.get_full_url());
if (source.empty()) {
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
auto data = get_default_data();
data.set("source", source);
@ -855,7 +860,8 @@ std::unique_ptr<Response> InternalServer::handle_raw(const RequestContext& reque
bookName = request.get_url_part(1);
kind = request.get_url_part(2);
} catch (const std::out_of_range& e) {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
if (kind != "meta" && kind!= "content") {

View File

@ -43,7 +43,8 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2(const RequestContext
try {
url = request.get_url_part(2);
} catch (const std::out_of_range&) {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
if (url == "root.xml") {
@ -69,7 +70,8 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2(const RequestContext
} else if (url == "illustration") {
return handle_catalog_v2_illustration(request);
} else {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
}
@ -110,7 +112,8 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_complete_entry(const
try {
mp_library->getBookById(entryId);
} catch (const std::out_of_range&) {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
OPDSDumper opdsDumper(mp_library);
@ -158,7 +161,8 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_illustration(const R
auto illustration = book.getIllustration(size);
return ContentResponse::build(*this, illustration->getData(), illustration->mimeType);
} catch(...) {
return Response::build_404(*this, request.get_full_url());
return HTTP404HtmlResponse(*this, request)
+ urlNotFoundMsg;
}
}