diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index 89618a13..1d287951 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -850,6 +850,15 @@ std::string InternalServer::getNoJSDownloadPageHTML(const std::string& bookId, c ); } +void InternalServer::setContentAccessUrl(LibraryDumper& libDumper) const +{ + if ( !m_contentServerUrl.empty() ) { + libDumper.setContentAccessUrl(m_contentServerUrl + "/content"); + } else if ( !m_catalogOnlyMode ) { + libDumper.setContentAccessUrl(m_root + "/content"); + } +} + std::unique_ptr InternalServer::handle_no_js(const RequestContext& request) { const auto url = request.get_url(); @@ -857,11 +866,7 @@ std::unique_ptr InternalServer::handle_no_js(const RequestContext& req HTMLDumper htmlDumper(mp_library.get(), mp_nameMapper.get()); htmlDumper.setRootLocation(m_root); htmlDumper.setLibraryId(getLibraryId()); - if ( !m_contentServerUrl.empty() ) { - htmlDumper.setContentAccessUrl(m_contentServerUrl + "/content"); - } else if ( !m_catalogOnlyMode ) { - htmlDumper.setContentAccessUrl(m_root + "/content"); - } + setContentAccessUrl(htmlDumper); auto userLang = request.get_user_language(); htmlDumper.setUserLanguage(userLang); std::string content; diff --git a/src/server/internalServer.h b/src/server/internalServer.h index af8f7bc1..7f39b2e1 100644 --- a/src/server/internalServer.h +++ b/src/server/internalServer.h @@ -90,6 +90,7 @@ class SearchInfo { typedef kainjow::mustache::data MustacheData; class OPDSDumper; +class LibraryDumper; class InternalServer { public: @@ -163,6 +164,7 @@ class InternalServer { std::string getNoJSDownloadPageHTML(const std::string& bookId, const std::string& userLang) const; OPDSDumper getOPDSDumper() const; + void setContentAccessUrl(LibraryDumper& libDumper) const; private: // types class LockableSuggestionSearcher; diff --git a/src/server/internalServer_catalog.cpp b/src/server/internalServer_catalog.cpp index 0e6dd2c1..76050386 100644 --- a/src/server/internalServer_catalog.cpp +++ b/src/server/internalServer_catalog.cpp @@ -56,11 +56,7 @@ OPDSDumper InternalServer::getOPDSDumper() const kiwix::OPDSDumper opdsDumper(mp_library.get(), mp_nameMapper.get()); opdsDumper.setRootLocation(m_root); opdsDumper.setLibraryId(getLibraryId()); - if ( !m_contentServerUrl.empty() ) { - opdsDumper.setContentAccessUrl(m_contentServerUrl + "/content"); - } else if ( !m_catalogOnlyMode ) { - opdsDumper.setContentAccessUrl(m_root + "/content"); - } + setContentAccessUrl(opdsDumper); return opdsDumper; }