diff --git a/handlers/handlerpage.cpp b/handlers/handlerpage.cpp index 1c57926..e052c17 100644 --- a/handlers/handlerpage.cpp +++ b/handlers/handlerpage.cpp @@ -27,7 +27,18 @@ Response HandlerPage::handle(const Request &r) auto pageDao = this->database->createPageDao(); if(pagename.empty()) { - return errorResponse("No page given", "No page given to request"); + std::string title = r.get("title"); + if(title.empty()) + { + return errorResponse("No page given", "No page given to request"); + } + title = utils::strreplace(title, "-", " "); + auto page = pageDao->findByTitle(title); + if(!page) + { + return errorResponse("No page by such title", "No page with such title exists"); + } + pagename = page->name; } if(pageMustExist() && !pageDao->exists(pagename))