Explicit charset in OPDS response MIME types

This commit is contained in:
Veloman Yunkan 2023-04-25 12:42:03 +04:00
parent 8c190cf34f
commit 9994302312
2 changed files with 10 additions and 10 deletions

View File

@ -44,9 +44,9 @@ enum OPDSResponseKind
}; };
const std::string opdsMimeType[] = { const std::string opdsMimeType[] = {
"application/atom+xml;type=entry;profile=opds-catalog", "application/atom+xml;type=entry;profile=opds-catalog;charset=utf-8",
"application/atom+xml;profile=opds-catalog;kind=navigation", "application/atom+xml;profile=opds-catalog;kind=navigation;charset=utf-8",
"application/atom+xml;profile=opds-catalog;kind=acquisition" "application/atom+xml;profile=opds-catalog;kind=acquisition;charset=utf-8"
}; };
} // unnamed namespace } // unnamed namespace
@ -97,7 +97,7 @@ std::unique_ptr<Response> InternalServer::handle_catalog(const RequestContext& r
auto response = ContentResponse::build( auto response = ContentResponse::build(
*this, *this,
opdsDumper.dumpOPDSFeed(bookIdsToDump, request.get_query()), opdsDumper.dumpOPDSFeed(bookIdsToDump, request.get_query()),
"application/atom+xml; profile=opds-catalog; kind=acquisition; charset=utf-8"); opdsMimeType[OPDS_ACQUISITION_FEED]);
return std::move(response); return std::move(response);
} }

View File

@ -499,11 +499,11 @@ TEST_F(ServerTest, MimeTypes)
{ "/skin/index.js", "application/javascript" }, { "/skin/index.js", "application/javascript" },
{ "/catalog/root.xml", "application/atom+xml;profile=opds-catalog;kind=acquisition;charset=utf-8" }, { "/catalog/root.xml", "application/atom+xml;profile=opds-catalog;kind=acquisition;charset=utf-8" },
{ "/catalog/v2/searchdescription.xml", "application/opensearchdescription+xml" }, { "/catalog/v2/searchdescription.xml", "application/opensearchdescription+xml" },
{ "/catalog/v2/root.xml", "application/atom+xml;profile=opds-catalog;kind=navigation" }, { "/catalog/v2/root.xml", "application/atom+xml;profile=opds-catalog;kind=navigation;charset=utf-8" },
{ "/catalog/v2/languages", "application/atom+xml;profile=opds-catalog;kind=navigation" }, { "/catalog/v2/languages", "application/atom+xml;profile=opds-catalog;kind=navigation;charset=utf-8" },
{ "/catalog/v2/categories", "application/atom+xml;profile=opds-catalog;kind=navigation" }, { "/catalog/v2/categories", "application/atom+xml;profile=opds-catalog;kind=navigation;charset=utf-8" },
{ "/catalog/v2/entries", "application/atom+xml;profile=opds-catalog;kind=acquisition" }, { "/catalog/v2/entries", "application/atom+xml;profile=opds-catalog;kind=acquisition;charset=utf-8" },
{ "/catalog/v2/entry/6f1d19d0-633f-087b-fb55-7ac324ff9baf", "application/atom+xml;type=entry;profile=opds-catalog" }, { "/catalog/v2/entry/6f1d19d0-633f-087b-fb55-7ac324ff9baf", "application/atom+xml;type=entry;profile=opds-catalog;charset=utf-8" },
{ "/skin/search-icon.svg", "image/svg+xml" }, { "/skin/search-icon.svg", "image/svg+xml" },
{ "/skin/bittorrent.png", "image/png" }, { "/skin/bittorrent.png", "image/png" },
{ "/skin/favicon/favicon.ico", "image/x-icon" }, { "/skin/favicon/favicon.ico", "image/x-icon" },