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[] = {
"application/atom+xml;type=entry;profile=opds-catalog",
"application/atom+xml;profile=opds-catalog;kind=navigation",
"application/atom+xml;profile=opds-catalog;kind=acquisition"
"application/atom+xml;type=entry;profile=opds-catalog;charset=utf-8",
"application/atom+xml;profile=opds-catalog;kind=navigation;charset=utf-8",
"application/atom+xml;profile=opds-catalog;kind=acquisition;charset=utf-8"
};
} // unnamed namespace
@ -97,7 +97,7 @@ std::unique_ptr<Response> InternalServer::handle_catalog(const RequestContext& r
auto response = ContentResponse::build(
*this,
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);
}

View File

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