diff --git a/YACReaderLibrary/server/controllers/pagecontroller.cpp b/YACReaderLibrary/server/controllers/pagecontroller.cpp index 29607fea..474b63e1 100644 --- a/YACReaderLibrary/server/controllers/pagecontroller.cpp +++ b/YACReaderLibrary/server/controllers/pagecontroller.cpp @@ -14,11 +14,17 @@ void PageController::service(HttpRequest& request, HttpResponse& response) HttpSession session=Static::sessionStore->getSession(request,response,false); QString path = QUrl::fromPercentEncoding(request.getPath()).toLatin1(); + + //QByteArray path2=request.getPath(); + //qDebug("PageController: request to -> %s ",path2.data()); + QStringList pathElements = path.split('/'); QString libraryName = pathElements.at(2); qulonglong comicId = pathElements.at(4).toULongLong(); unsigned int page = pathElements.at(6).toUInt(); + //qDebug("lib name : %s",pathElements.at(2).data()); + Comic * comicFile = session.getCurrentComic(); if(session.getCurrentComicId() != 0 && !QPointer(comicFile).isNull()) { @@ -26,7 +32,9 @@ void PageController::service(HttpRequest& request, HttpResponse& response) { if(comicFile->pageIsLoaded(page)) { + //qDebug("PageController: La página estaba cargada -> %s ",path.data()); response.setHeader("Content-Type", "image/jpeg"); + response.setHeader("Transfer-Encoding","chunked"); QByteArray pageData = comicFile->getRawPage(page); QDataStream data(pageData); char buffer[4096]; @@ -34,10 +42,12 @@ void PageController::service(HttpRequest& request, HttpResponse& response) int len = data.readRawData(buffer,4096); response.write(QByteArray(buffer,len)); } - response.write(pageData); + //response.write(pageData,true); + response.write(QByteArray(),true); } else { + //qDebug("PageController: La página NO estaba cargada 404 -> %s ",path.data()); response.setStatus(404,"not found"); //TODO qué mensaje enviar response.write("404 not found",true); } diff --git a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp index c34b9f7a..402d8af0 100644 --- a/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp +++ b/YACReaderLibrary/server/lib/bfHttpServer/httpsession.cpp @@ -269,6 +269,7 @@ void HttpSession::setDeviceType(const QString & device) { if(dataPtr) { + dataPtr->yacreaderSessionData.comicsOnDevice.clear(); //TODO crear un método clear que limpie la sesión completamente dataPtr->yacreaderSessionData.device = device; } }