MCPcopy Create free account
hub / github.com/YACReader/yacreader / service

Method service

YACReaderLibrary/server/controllers/v2/covercontroller_v2.cpp:14–37  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12CoverControllerV2::CoverControllerV2() { }
13
14void CoverControllerV2::service(HttpRequest &request, HttpResponse &response)
15{
16 response.setHeader("Content-Type", "image/jpeg");
17
18 YACReaderLibraries libraries = DBHelper::getLibraries();
19
20 QString path = QUrl::fromPercentEncoding(request.getPath()).toUtf8();
21 QStringList pathElements = path.split('/');
22 QString libraryName = DBHelper::getLibraryName(pathElements.at(3).toInt());
23 QStringList remainingPathElements = pathElements.mid(5);
24 QString fileName = remainingPathElements.join('/');
25
26 QImage img(YACReader::LibraryPaths::coverPathWithFileName(libraries.getPath(libraryName), fileName));
27 if (!img.isNull()) {
28 QByteArray ba;
29 QBuffer buffer(&ba);
30 buffer.open(QIODevice::WriteOnly);
31 img.save(&buffer, "JPG");
32 response.write(ba, true);
33 } else {
34 response.setStatus(404, "not found");
35 response.write("404 not found", true);
36 }
37}

Callers

nothing calls this directly

Calls 6

getPathMethod · 0.80
splitMethod · 0.80
joinMethod · 0.80
writeMethod · 0.80
openMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected