diff --git a/src/server.cpp b/src/server.cpp index 49700df3f..e44a08adf 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -831,6 +831,20 @@ Response InternalServer::handle_catalog(const RequestContext& request) return response; } +namespace +{ + +std::string get_book_name(const RequestContext& request) +{ + try { + return request.get_url_part(0); + } catch (const std::out_of_range& e) { + return std::string(); + } +} + +} // unnamed namespace + Response InternalServer::handle_content(const RequestContext& request) { if (m_verbose.load()) { @@ -843,12 +857,7 @@ Response InternalServer::handle_content(const RequestContext& request) kiwix::Entry entry; - std::string bookName; - try { - bookName = request.get_url_part(0); - } catch (const std::out_of_range& e) { - return build_homepage(request); - } + const std::string bookName = get_book_name(request); if (bookName.empty()) return build_homepage(request);