本文整理汇总了C++中HttpResponse::finish方法的典型用法代码示例。如果您正苦于以下问题:C++ HttpResponse::finish方法的具体用法?C++ HttpResponse::finish怎么用?C++ HttpResponse::finish使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpResponse
的用法示例。
在下文中一共展示了HttpResponse::finish方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleFileGet
void StaticServer::handleFileGet(HttpRequest &request, HttpResponse &response)
{
qDebug() << "-----------%%%" << request.getHeader().getPath();
bool compress = false;
if (request.getHeader().getHeaderInfo().contains("Accept-Encoding") )
{
if (request.getHeader().getHeaderInfo()["Accept-Encoding"]->contains("gzip"))
{
compress = true;
}
}
QByteArray fileContent;
QString mimeType;
QString md5;
if (m_staticFileServer.getFileByPath(request.getHeader().getPath(), fileContent, mimeType, md5, StaticFileServer::FileType::UNSPECIFIED, true, compress))
{
response << fileContent;
if (compress)
{
QSharedPointer<QString> gzipstr(new QString("gzip"));
response.setHeader("Content-Encoding", gzipstr);
}
response.finish(mimeType);
}
else
{
response.setStatusCode(404);
response << "can't find the file!\n";
response.finish();
}
}
示例2: handleConsole
void Worker::handleConsole(HttpRequest &request, HttpResponse &response)
{
if (request.getHeader().getHeaderInfo().contains("swiftly-admin"))
{
QString pass = *request.getHeader().getHeaderInfo()["swiftly-admin"];
QByteArray hash = QCryptographicHash::hash(pass.toUtf8(), QCryptographicHash::Sha512);
if (hash.toHex() == m_adminPassHash)
{
if (request.getHeader().hasQueries() && request.getHeader().getQueries().contains("cmd"))
{
QString cmd = *request.getHeader().getQueries()["cmd"];
if (cmd == "shutdown")
{
emit shutdown();
}
response.setStatusCode(200);
response << "done!";
response.finish();
}
else
{
response.setStatusCode(200);
response << tem.c_str();
response.finish();
}
return;
}
}
response.setStatusCode(404);
response << "authentication failed";
response.finish();
}