implement 404 for webserver - this is a quick hack, should be refactored later (#378)

This commit is contained in:
redPanther 2017-01-23 23:21:04 +01:00 committed by GitHub
parent cde5a4dff1
commit 8a4d1c5088
1 changed files with 9 additions and 2 deletions

View File

@ -73,6 +73,13 @@ static inline void printErrorToReply (QtHttpReply * reply, QString errorMessage)
reply->appendRawData (errorMessage.toLocal8Bit ()); reply->appendRawData (errorMessage.toLocal8Bit ());
} }
static inline void printError404ToReply (QtHttpReply * reply, QString errorMessage)
{
reply->setStatusCode(QtHttpReply::NotFound);
reply->addHeader ("Content-Type", QByteArrayLiteral ("text/plain"));
reply->appendRawData (errorMessage.toLocal8Bit ());
}
void StaticFileServing::onRequestNeedsReply (QtHttpRequest * request, QtHttpReply * reply) void StaticFileServing::onRequestNeedsReply (QtHttpRequest * request, QtHttpReply * reply)
{ {
QString command = request->getCommand (); QString command = request->getCommand ();
@ -103,7 +110,7 @@ void StaticFileServing::onRequestNeedsReply (QtHttpRequest * request, QtHttpRepl
Q_INIT_RESOURCE(WebConfig); Q_INIT_RESOURCE(WebConfig);
QFileInfo info(_baseUrl % "/" % path); QFileInfo info(_baseUrl % "/" % path);
if ( path == "/" || path.isEmpty() || ! info.exists() ) if ( path == "/" || path.isEmpty() )
{ {
path = "index.html"; path = "index.html";
} }
@ -134,7 +141,7 @@ void StaticFileServing::onRequestNeedsReply (QtHttpRequest * request, QtHttpRepl
} }
else else
{ {
printErrorToReply (reply, "Requested file " % path % " couldn't be found !"); printError404ToReply (reply, "404 Not Found\n" % path % " couldn't be found !");
} }
} }
else else