当前位置: 首页>>代码示例>>C++>>正文


C++ HttpResponse::finish方法代码示例

本文整理汇总了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();
    }
}
开发者ID:shi-yan,项目名称:Swiftly,代码行数:33,代码来源:StaticServer.cpp

示例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();
}
开发者ID:shi-yan,项目名称:Swiftly,代码行数:38,代码来源:Worker.cpp


注:本文中的HttpResponse::finish方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。