From 55880d09570e78991de127d6bf1196573f10566c Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Thu, 23 Dec 2021 18:14:45 +0100 Subject: [PATCH] fixup! Add `raw` endpoint. Fix rebase conflict. --- src/server/internalServer.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index 521ba2886..25fb5f4f2 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -894,11 +894,12 @@ std::unique_ptr 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, bookName, "", ""); + return Response::build_404(*this, request.get_full_url(), bookName, "", ""); } if (kind != "meta" && kind!= "content") { - return Response::build_404(*this, request, bookName, "", ""); + const std::string error_details = kind + " is not a valid request for raw content."; + return Response::build_404(*this, request.get_full_url(), bookName, "", ""); } std::shared_ptr archive; @@ -908,7 +909,8 @@ std::unique_ptr InternalServer::handle_raw(const RequestContext& reque } catch (const std::out_of_range& e) {} if (archive == nullptr) { - return Response::build_404(*this, request, bookName, "", ""); + const std::string error_details = "No such book: " + bookName; + return Response::build_404(*this, request.get_full_url(), bookName, "", error_details); } auto itemPath = request.get_url().substr(bookName.size()+kind.size()+6); @@ -931,7 +933,8 @@ std::unique_ptr InternalServer::handle_raw(const RequestContext& reque if (m_verbose.load()) { printf("Failed to find %s\n", itemPath.c_str()); } - return Response::build_404(*this, request, bookName, getArchiveTitle(*archive), ""); + const std::string error_details = "Cannot find " + kind + " entry " + itemPath; + return Response::build_404(*this, request.get_full_url(), bookName, getArchiveTitle(*archive), error_details); } }