diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index ee923df1..3346747e 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -777,7 +777,7 @@ std::unique_ptr InternalServer::handle_search(const RequestContext& re renderer.setProtocolPrefix(m_root + "/"); renderer.setSearchProtocolPrefix(m_root + "/search"); renderer.setPageLength(pageLength); - if (request.get_optional_param("format", "") == "xml") { + if (request.get_requested_format() == "xml") { return ContentResponse::build(*this, renderer.getXml(), "application/rss+xml; charset=utf-8", /*isHomePage =*/false, /*raw =*/true); diff --git a/src/server/request_context.cpp b/src/server/request_context.cpp index 53a5cde2..0b9a1a53 100644 --- a/src/server/request_context.cpp +++ b/src/server/request_context.cpp @@ -202,4 +202,9 @@ std::string RequestContext::get_user_language() const return "en"; } +std::string RequestContext::get_requested_format() const +{ + return get_optional_param("format", "html"); +} + } diff --git a/src/server/request_context.h b/src/server/request_context.h index f0b79b58..f63f8981 100644 --- a/src/server/request_context.h +++ b/src/server/request_context.h @@ -118,6 +118,7 @@ class RequestContext { bool can_compress() const { return acceptEncodingGzip; } std::string get_user_language() const; + std::string get_requested_format() const; private: // data std::string full_url;