added new web controller for knowing the version of the web api

This commit is contained in:
Luis Ángel San Martín
2016-01-23 16:06:47 +01:00
parent 09e8062a9a
commit 1009b84363
5 changed files with 70 additions and 16 deletions

View File

@ -22,6 +22,7 @@
#include "controllers/errorcontroller.h"
#include "controllers/comicdownloadinfocontroller.h"
#include "controllers/synccontroller.h"
#include "controllers/versioncontroller.h"
#include "db_helper.h"
#include "yacreader_libraries.h"
@ -95,20 +96,21 @@ void RequestMapper::service(HttpRequest& request, HttpResponse& response) {
QByteArray path=request.getPath();
qDebug("RequestMapper: path=%s",path.data());
QRegExp folder("/library/.+/folder/[0-9]+/?");//get comic content
QRegExp folderInfo("/library/.+/folder/[0-9]+/info/?"); //get folder info
QRegExp comicDownloadInfo("/library/.+/comic/[0-9]+/?"); //get comic info (basic/download info)
QRegExp comicFullInfo("/library/.+/comic/[0-9]+/info/?"); //get comic info (full info)
QRegExp comicOpen("/library/.+/comic/[0-9]+/remote/?"); //the server will open for reading the comic
QRegExp comicUpdate("/library/.+/comic/[0-9]+/update/?"); //get comic info
QRegExp comicClose("/library/.+/comic/[0-9]+/close/?"); //the server will close the comic and free memory
QRegExp cover("/library/.+/cover/[0-9a-f]+.jpg"); //get comic cover (navigation)
QRegExp comicPage("/library/.+/comic/[0-9]+/page/[0-9]+/?"); //get comic page
QRegExp comicPageRemote("/library/.+/comic/[0-9]+/page/[0-9]+/remote?"); //get comic page (remote reading)
static const QRegExp folder("/library/.+/folder/[0-9]+/?");//get comic content
static const QRegExp folderInfo("/library/.+/folder/[0-9]+/info/?"); //get folder info
static const QRegExp comicDownloadInfo("/library/.+/comic/[0-9]+/?"); //get comic info (basic/download info)
static const QRegExp comicFullInfo("/library/.+/comic/[0-9]+/info/?"); //get comic info (full info)
static const QRegExp comicOpen("/library/.+/comic/[0-9]+/remote/?"); //the server will open for reading the comic
static const QRegExp comicUpdate("/library/.+/comic/[0-9]+/update/?"); //get comic info
static const QRegExp comicClose("/library/.+/comic/[0-9]+/close/?"); //the server will close the comic and free memory
static const QRegExp cover("/library/.+/cover/[0-9a-f]+.jpg"); //get comic cover (navigation)
static const QRegExp comicPage("/library/.+/comic/[0-9]+/page/[0-9]+/?"); //get comic page
static const QRegExp comicPageRemote("/library/.+/comic/[0-9]+/page/[0-9]+/remote?"); //get comic page (remote reading)
static const QRegExp serverVersion("/version/?");
QRegExp sync("/sync");
static const QRegExp sync("/sync");
QRegExp library("/library/([0-9]+)/.+"); //permite verificar que la biblioteca solicitada existe
static const QRegExp library("/library/([0-9]+)/.+"); //permite verificar que la biblioteca solicitada existe
path = QUrl::fromPercentEncoding(path).toUtf8();
@ -122,8 +124,14 @@ void RequestMapper::service(HttpRequest& request, HttpResponse& response) {
}
else
{
if(sync.exactMatch(path))
if(serverVersion.exactMatch(path))
{
VersionController().service(request, response);
}
else if(sync.exactMatch(path))
{
SyncController().service(request, response);
}
else
{
//se comprueba que la sesión sea la correcta con el fin de evitar accesos no autorizados