mirror of https://github.com/kiwix/libkiwix.git
1st step in removing root from ContentResponse
It turned out that ContentResponse::m_root is no longer used. At this point, the root parameter is dropped only from the 3-ary variant of ContentResponse::build(), so that its all call sites are automatically discovered by the compiler (and updated manually). Including the other (4-ary) variant of ContentResponse::build() in this change might result in the semantic change of expressions like `ContentResponse::build(x, y, z)` and failure to update them.
This commit is contained in:
parent
22ea3106c5
commit
6a651e04e5
|
@ -739,7 +739,7 @@ std::unique_ptr<Response> InternalServer::handle_suggest(const RequestContext& r
|
||||||
results.addFTSearchSuggestion(request.get_user_language(), queryString);
|
results.addFTSearchSuggestion(request.get_user_language(), queryString);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ContentResponse::build(m_root, results.getJSON(), "application/json; charset=utf-8");
|
return ContentResponse::build(results.getJSON(), "application/json; charset=utf-8");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<Response> InternalServer::handle_viewer_settings(const RequestContext& request)
|
std::unique_ptr<Response> InternalServer::handle_viewer_settings(const RequestContext& request)
|
||||||
|
@ -815,11 +815,7 @@ std::unique_ptr<Response> InternalServer::handle_no_js(const RequestContext& req
|
||||||
return UrlNotFoundResponse(m_root, request);
|
return UrlNotFoundResponse(m_root, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(content, "text/html; charset=utf-8");
|
||||||
m_root,
|
|
||||||
content,
|
|
||||||
"text/html; charset=utf-8"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
|
@ -857,7 +853,6 @@ std::unique_ptr<Response> InternalServer::handle_skin(const RequestContext& requ
|
||||||
try {
|
try {
|
||||||
const auto accessType = staticResourceAccessType(request, resourceCacheId);
|
const auto accessType = staticResourceAccessType(request, resourceCacheId);
|
||||||
auto response = ContentResponse::build(
|
auto response = ContentResponse::build(
|
||||||
m_root,
|
|
||||||
getResource(resourceName),
|
getResource(resourceName),
|
||||||
getMimeTypeForFile(resourceName));
|
getMimeTypeForFile(resourceName));
|
||||||
response->set_kind(accessType);
|
response->set_kind(accessType);
|
||||||
|
@ -959,13 +954,11 @@ std::unique_ptr<Response> InternalServer::handle_search_request(const RequestCon
|
||||||
renderer.setPageLength(pageLength);
|
renderer.setPageLength(pageLength);
|
||||||
if (request.get_requested_format() == "xml") {
|
if (request.get_requested_format() == "xml") {
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
renderer.getXml(*mp_nameMapper, mp_library.get()),
|
renderer.getXml(*mp_nameMapper, mp_library.get()),
|
||||||
"application/rss+xml; charset=utf-8"
|
"application/rss+xml; charset=utf-8"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
auto response = ContentResponse::build(
|
auto response = ContentResponse::build(
|
||||||
m_root,
|
|
||||||
renderer.getHtml(*mp_nameMapper, mp_library.get()),
|
renderer.getHtml(*mp_nameMapper, mp_library.get()),
|
||||||
"text/html; charset=utf-8"
|
"text/html; charset=utf-8"
|
||||||
);
|
);
|
||||||
|
@ -1267,9 +1260,7 @@ std::unique_ptr<Response> InternalServer::handle_locally_customized_resource(con
|
||||||
return Response::build_416(resourceData.size());
|
return Response::build_416(resourceData.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ContentResponse::build(m_root,
|
return ContentResponse::build(resourceData, crd.mimeType);
|
||||||
resourceData,
|
|
||||||
crd.mimeType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog(const RequestContext& r
|
||||||
}
|
}
|
||||||
|
|
||||||
auto response = ContentResponse::build(
|
auto response = ContentResponse::build(
|
||||||
m_root,
|
|
||||||
opdsDumper.dumpOPDSFeed(bookIdsToDump, request.get_query()),
|
opdsDumper.dumpOPDSFeed(bookIdsToDump, request.get_query()),
|
||||||
opdsMimeType[OPDS_ACQUISITION_FEED]);
|
opdsMimeType[OPDS_ACQUISITION_FEED]);
|
||||||
return std::move(response);
|
return std::move(response);
|
||||||
|
@ -166,7 +165,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_entries(const Reques
|
||||||
const auto bookIds = search_catalog(request, opdsDumper);
|
const auto bookIds = search_catalog(request, opdsDumper);
|
||||||
const auto opdsFeed = opdsDumper.dumpOPDSFeedV2(bookIds, request.get_query(), partial);
|
const auto opdsFeed = opdsDumper.dumpOPDSFeedV2(bookIds, request.get_query(), partial);
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
opdsFeed,
|
opdsFeed,
|
||||||
opdsMimeType[OPDS_ACQUISITION_FEED]
|
opdsMimeType[OPDS_ACQUISITION_FEED]
|
||||||
);
|
);
|
||||||
|
@ -185,7 +183,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_complete_entry(const
|
||||||
opdsDumper.setLibraryId(getLibraryId());
|
opdsDumper.setLibraryId(getLibraryId());
|
||||||
const auto opdsFeed = opdsDumper.dumpOPDSCompleteEntry(entryId);
|
const auto opdsFeed = opdsDumper.dumpOPDSCompleteEntry(entryId);
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
opdsFeed,
|
opdsFeed,
|
||||||
opdsMimeType[OPDS_ENTRY]
|
opdsMimeType[OPDS_ENTRY]
|
||||||
);
|
);
|
||||||
|
@ -197,7 +194,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_categories(const Req
|
||||||
opdsDumper.setRootLocation(m_root);
|
opdsDumper.setRootLocation(m_root);
|
||||||
opdsDumper.setLibraryId(getLibraryId());
|
opdsDumper.setLibraryId(getLibraryId());
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
opdsDumper.categoriesOPDSFeed(),
|
opdsDumper.categoriesOPDSFeed(),
|
||||||
opdsMimeType[OPDS_NAVIGATION_FEED]
|
opdsMimeType[OPDS_NAVIGATION_FEED]
|
||||||
);
|
);
|
||||||
|
@ -209,7 +205,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_languages(const Requ
|
||||||
opdsDumper.setRootLocation(m_root);
|
opdsDumper.setRootLocation(m_root);
|
||||||
opdsDumper.setLibraryId(getLibraryId());
|
opdsDumper.setLibraryId(getLibraryId());
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
opdsDumper.languagesOPDSFeed(),
|
opdsDumper.languagesOPDSFeed(),
|
||||||
opdsMimeType[OPDS_NAVIGATION_FEED]
|
opdsMimeType[OPDS_NAVIGATION_FEED]
|
||||||
);
|
);
|
||||||
|
@ -223,7 +218,6 @@ std::unique_ptr<Response> InternalServer::handle_catalog_v2_illustration(const R
|
||||||
auto size = request.get_argument<unsigned int>("size");
|
auto size = request.get_argument<unsigned int>("size");
|
||||||
auto illustration = book.getIllustration(size);
|
auto illustration = book.getIllustration(size);
|
||||||
return ContentResponse::build(
|
return ContentResponse::build(
|
||||||
m_root,
|
|
||||||
illustration->getData(),
|
illustration->getData(),
|
||||||
illustration->mimeType
|
illustration->mimeType
|
||||||
);
|
);
|
||||||
|
|
|
@ -386,9 +386,8 @@ MHD_Result Response::send(const RequestContext& request, bool verbose, MHD_Conne
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ContentResponse::ContentResponse(const std::string& root, const std::string& content, const std::string& mimetype) :
|
ContentResponse::ContentResponse(const std::string& content, const std::string& mimetype) :
|
||||||
Response(),
|
Response(),
|
||||||
m_root(root),
|
|
||||||
m_content(content),
|
m_content(content),
|
||||||
m_mimeType(mimetype)
|
m_mimeType(mimetype)
|
||||||
{
|
{
|
||||||
|
@ -396,12 +395,10 @@ ContentResponse::ContentResponse(const std::string& root, const std::string& con
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<ContentResponse> ContentResponse::build(
|
std::unique_ptr<ContentResponse> ContentResponse::build(
|
||||||
const std::string& root,
|
|
||||||
const std::string& content,
|
const std::string& content,
|
||||||
const std::string& mimetype)
|
const std::string& mimetype)
|
||||||
{
|
{
|
||||||
return std::unique_ptr<ContentResponse>(new ContentResponse(
|
return std::unique_ptr<ContentResponse>(new ContentResponse(
|
||||||
root,
|
|
||||||
content,
|
content,
|
||||||
mimetype));
|
mimetype));
|
||||||
}
|
}
|
||||||
|
@ -413,7 +410,7 @@ std::unique_ptr<ContentResponse> ContentResponse::build(
|
||||||
const std::string& mimetype)
|
const std::string& mimetype)
|
||||||
{
|
{
|
||||||
auto content = render_template(template_str, data);
|
auto content = render_template(template_str, data);
|
||||||
return ContentResponse::build(root, content, mimetype);
|
return ContentResponse::build(content, mimetype);
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemResponse::ItemResponse(const zim::Item& item, const std::string& mimetype, const ByteRange& byterange) :
|
ItemResponse::ItemResponse(const zim::Item& item, const std::string& mimetype, const ByteRange& byterange) :
|
||||||
|
@ -433,7 +430,7 @@ std::unique_ptr<Response> ItemResponse::build(const std::string& root, const Req
|
||||||
const bool noRange = byteRange.kind() == ByteRange::RESOLVED_FULL_CONTENT;
|
const bool noRange = byteRange.kind() == ByteRange::RESOLVED_FULL_CONTENT;
|
||||||
if (noRange && is_compressible_mime_type(mimetype)) {
|
if (noRange && is_compressible_mime_type(mimetype)) {
|
||||||
// Return a contentResponse
|
// Return a contentResponse
|
||||||
auto response = ContentResponse::build(root, item.getData(), mimetype);
|
auto response = ContentResponse::build(item.getData(), mimetype);
|
||||||
response->set_kind(Response::ZIM_CONTENT);
|
response->set_kind(Response::ZIM_CONTENT);
|
||||||
response->m_byteRange = byteRange;
|
response->m_byteRange = byteRange;
|
||||||
return std::move(response);
|
return std::move(response);
|
||||||
|
|
|
@ -89,12 +89,10 @@ class Response {
|
||||||
class ContentResponse : public Response {
|
class ContentResponse : public Response {
|
||||||
public:
|
public:
|
||||||
ContentResponse(
|
ContentResponse(
|
||||||
const std::string& root,
|
|
||||||
const std::string& content,
|
const std::string& content,
|
||||||
const std::string& mimetype);
|
const std::string& mimetype);
|
||||||
|
|
||||||
static std::unique_ptr<ContentResponse> build(
|
static std::unique_ptr<ContentResponse> build(
|
||||||
const std::string& root,
|
|
||||||
const std::string& content,
|
const std::string& content,
|
||||||
const std::string& mimetype);
|
const std::string& mimetype);
|
||||||
|
|
||||||
|
@ -111,7 +109,6 @@ class ContentResponse : public Response {
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_root;
|
|
||||||
std::string m_content;
|
std::string m_content;
|
||||||
std::string m_mimeType;
|
std::string m_mimeType;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue