9 #include <Cutelyst/Application> 10 #include <Cutelyst/Request> 11 #include <Cutelyst/Response> 15 #include <QLoggingCategory> 17 Q_LOGGING_CATEGORY(C_SERVER_SM,
"cutelyst.server.staticmap", QtWarningMsg)
33 void StaticMap::addStaticMap(
const QString &mountPoint,
const QString &path,
bool append)
40 qCInfo(C_SERVER_SM) <<
"added mapping for" << mp <<
"=>" << path;
42 m_staticMaps.
push_back({mp, path, append});
43 std::sort(m_staticMaps.begin(),
46 return a.mountPoint.
size() < b.mountPoint.size();
59 if (tryToServeFile(c, mp, path)) {
71 localPath = path.
mid(mp.mountPoint.
size());
78 QString absFilePath = dir.absoluteFilePath(localPath);
83 return serveFile(c, absFilePath);
91 res->setStatus(Response::NotModified);
95 auto file =
new QFile(filename);
97 qCDebug(C_SERVER_SM) <<
"Serving" << filename;
111 headers.
setHeader(
"Cache-Control"_qba,
"public"_qba);
116 qCWarning(C_SERVER_SM) <<
"Could not serve" << filename << file->errorString();
121 #include "moc_staticmap.cpp"
QString & prepend(QChar ch)
qsizetype size() const const
bool exists() const const
Headers headers() const noexcept
bool startsWith(QChar c, Qt::CaseSensitivity cs) const const
void beforePrepareAction(Cutelyst::Context *c, bool *skipMethod)
virtual bool setup(Cutelyst::Application *app) override
The Cutelyst namespace holds all public Cutelyst API.
QDateTime lastModified() const const
bool isValid() const const
QString & remove(QChar ch, Qt::CaseSensitivity cs)
QString mid(qsizetype position, qsizetype n) const const
Base class for Cutelyst Plugins.
The Cutelyst application.
Response * response() const noexcept