Update server code integration for QtWebApp 1.7.11

- Adapt server code for QtWebapp namespace 'stefanfrings'
- Implement custom modifications needed by v1 controller
  via template engine
- Unify iphone and ipad templates
This commit is contained in:
Felix Kauselmann
2020-07-30 12:33:13 +02:00
parent f8a00605c5
commit 1b344d70e5
73 changed files with 249 additions and 247 deletions

View File

@ -14,6 +14,10 @@
#include <typeinfo>
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
ComicController::ComicController() { }
void ComicController::service(HttpRequest &request, HttpResponse &response)

View File

@ -9,7 +9,7 @@
class Comic;
class QString;
class ComicController : public HttpRequestHandler
class ComicController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(ComicController);
@ -19,7 +19,7 @@ public:
ComicController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // COMICCONTROLLER_H

View File

@ -5,6 +5,9 @@
#include "comic_db.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
ComicDownloadInfoController::ComicDownloadInfoController() { }
void ComicDownloadInfoController::service(HttpRequest &request, HttpResponse &response)

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class ComicDownloadInfoController : public HttpRequestHandler
class ComicDownloadInfoController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(ComicDownloadInfoController);
@ -15,7 +15,7 @@ public:
ComicDownloadInfoController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // COMICDOWNLOADINFOCONTROLLER_H

View File

@ -6,6 +6,10 @@
#include "template.h"
#include "../static.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
CoverController::CoverController() { }
void CoverController::service(HttpRequest &request, HttpResponse &response)

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class CoverController : public HttpRequestHandler
class CoverController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(CoverController);
@ -15,7 +15,7 @@ public:
CoverController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // COVERCONTROLLER_H

View File

@ -3,6 +3,9 @@
#include "template.h"
#include "../static.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
ErrorController::ErrorController(int errorCode)
: error(errorCode)
{
@ -21,4 +24,4 @@ void ErrorController::service(HttpRequest &request, HttpResponse &response)
response.write("404 not found", true);
break;
}
}
}

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class ErrorController : public HttpRequestHandler
class ErrorController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(ErrorController);
@ -15,7 +15,7 @@ public:
ErrorController(int errorCode);
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
private:
int error;

View File

@ -16,6 +16,11 @@
#include "QsLog.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
using stefanfrings::Template;
struct LibraryItemSorter {
bool operator()(const LibraryItem *a, const LibraryItem *b) const
{
@ -41,8 +46,14 @@ void FolderController::service(HttpRequest &request, HttpResponse &response)
//QString y = session.get("xxx").toString();
//response.writeText(QString("session xxx : %1 <br/>").arg(y));
Template t = Static::templateLoader->getTemplate("folder_" + ySession->getDeviceType(), request.getHeader("Accept-Language"));
Template t = Static::templateLoader->getTemplate("folder", request.getHeader("Accept-Language"));
t.enableWarnings();
// set device type for templates
t.setVariable("device", ySession->getDeviceType());
t.setVariable("display", ySession->getDisplayType());
t.setCondition("device.ipad", ySession->getDeviceType() == "ipad");
QString path = QUrl::fromPercentEncoding(request.getPath()).toUtf8();
QStringList pathElements = path.split('/');
int libraryId = pathElements.at(2).toInt();

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class FolderController : public HttpRequestHandler
class FolderController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(FolderController);
@ -15,7 +15,7 @@ public:
FolderController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // FOLDERCONTROLLER_H

View File

@ -7,6 +7,9 @@
#include "template.h"
#include "../static.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
FolderInfoController::FolderInfoController() { }
void FolderInfoController::service(HttpRequest &request, HttpResponse &response)

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class FolderInfoController : public HttpRequestHandler
class FolderInfoController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(FolderInfoController);
@ -15,10 +15,10 @@ public:
FolderInfoController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
private:
void serviceComics(const int &library, const qulonglong &folderId, HttpResponse &response);
void serviceComics(const int &library, const qulonglong &folderId, stefanfrings::HttpResponse &response);
};
#endif // FOLDERINFOCONTROLLER_H

View File

@ -8,6 +8,11 @@
#include "QsLog.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
using stefanfrings::Template;
LibrariesController::LibrariesController() { }
void LibrariesController::service(HttpRequest &request, HttpResponse &response)
@ -20,9 +25,13 @@ void LibrariesController::service(HttpRequest &request, HttpResponse &response)
ySession->clearNavigationPath();
Template t = Static::templateLoader->getTemplate("libraries_" + ySession->getDeviceType(), request.getHeader("Accept-Language"));
Template t = Static::templateLoader->getTemplate("libraries", request.getHeader("Accept-Language"));
t.enableWarnings();
// set device type and display
t.setVariable("device", ySession->getDeviceType());
t.setVariable("display", ySession->getDisplayType());
YACReaderLibraries libraries = DBHelper::getLibraries();
QList<QString> names = DBHelper::getLibrariesNames();

View File

@ -9,7 +9,7 @@
This controller displays a HTML form and dumps the submitted input.
*/
class LibrariesController : public HttpRequestHandler
class LibrariesController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(LibrariesController);
@ -19,7 +19,7 @@ public:
LibrariesController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // LIBRARIESCONTROLLER_H

View File

@ -13,6 +13,10 @@
#include "db_helper.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
PageController::PageController() { }
void PageController::service(HttpRequest &request, HttpResponse &response)

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class PageController : public HttpRequestHandler
class PageController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(PageController);
@ -15,7 +15,7 @@ public:
PageController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // PAGECONTROLLER_H

View File

@ -8,6 +8,9 @@
#include <QVariant>
#include <QDateTime>
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
SessionController::SessionController() { }
void SessionController::service(HttpRequest &request, HttpResponse &response)

View File

@ -6,6 +6,9 @@
#include "comic_db.h"
#include "db_helper.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
SyncController::SyncController()
{
}

View File

@ -7,7 +7,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class SyncController : public HttpRequestHandler
class SyncController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(SyncController)
@ -16,7 +16,7 @@ public:
SyncController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // SYNCCONTROLLER_H

View File

@ -11,6 +11,10 @@
#include "QsLog.h"
using stefanfrings::HttpRequest;
using stefanfrings::HttpResponse;
using stefanfrings::HttpSession;
UpdateComicController::UpdateComicController() { }
void UpdateComicController::service(HttpRequest &request, HttpResponse &response)

View File

@ -5,7 +5,7 @@
#include "httpresponse.h"
#include "httprequesthandler.h"
class UpdateComicController : public HttpRequestHandler
class UpdateComicController : public stefanfrings::HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(UpdateComicController);
@ -14,7 +14,7 @@ public:
UpdateComicController();
/** Generates the response */
void service(HttpRequest &request, HttpResponse &response) override;
void service(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response) override;
};
#endif // UPDATECOMICCONTROLLER_H