74 lines
3.0 KiB
C++
74 lines
3.0 KiB
C++
// Copyright (C) 2019 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
#ifndef QHTTPSERVERRESPONSE_H
|
|
#define QHTTPSERVERRESPONSE_H
|
|
|
|
#include <QtHttpServer/qhttpserverresponder.h>
|
|
#include <QtNetwork/qhttpheaders.h>
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
class QJsonObject;
|
|
|
|
class QHttpServerResponsePrivate;
|
|
class QHttpServerResponse final
|
|
{
|
|
Q_DECLARE_PRIVATE(QHttpServerResponse)
|
|
Q_DISABLE_COPY(QHttpServerResponse)
|
|
|
|
friend class QHttpServerResponder;
|
|
public:
|
|
using StatusCode = QHttpServerResponder::StatusCode;
|
|
|
|
QHttpServerResponse(QHttpServerResponse &&other) noexcept
|
|
: d_ptr(std::exchange(other.d_ptr, nullptr)) {}
|
|
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QHttpServerResponse)
|
|
void swap(QHttpServerResponse &other) noexcept { qt_ptr_swap(d_ptr, other.d_ptr); }
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(StatusCode statusCode);
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const char *data,
|
|
StatusCode status = StatusCode::Ok);
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QString &data,
|
|
StatusCode status = StatusCode::Ok);
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QByteArray &data,
|
|
StatusCode status = StatusCode::Ok);
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(QByteArray &&data,
|
|
StatusCode status = StatusCode::Ok);
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QJsonObject &data,
|
|
StatusCode status = StatusCode::Ok);
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QJsonArray &data,
|
|
StatusCode status = StatusCode::Ok);
|
|
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QByteArray &mimeType,
|
|
const QByteArray &data,
|
|
StatusCode status = StatusCode::Ok);
|
|
Q_HTTPSERVER_EXPORT Q_IMPLICIT QHttpServerResponse(const QByteArray &mimeType,
|
|
QByteArray &&data,
|
|
StatusCode status = StatusCode::Ok);
|
|
|
|
Q_HTTPSERVER_EXPORT ~QHttpServerResponse();
|
|
Q_HTTPSERVER_EXPORT static QHttpServerResponse fromFile(const QString &fileName);
|
|
|
|
Q_HTTPSERVER_EXPORT QByteArray data() const;
|
|
|
|
Q_HTTPSERVER_EXPORT QByteArray mimeType() const;
|
|
|
|
Q_HTTPSERVER_EXPORT StatusCode statusCode() const;
|
|
|
|
Q_HTTPSERVER_EXPORT QHttpHeaders headers() const;
|
|
Q_HTTPSERVER_EXPORT void setHeaders(const QHttpHeaders &newHeaders);
|
|
Q_HTTPSERVER_EXPORT void setHeaders(QHttpHeaders &&newHeaders);
|
|
|
|
private:
|
|
QHttpServerResponsePrivate *d_ptr;
|
|
};
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // QHTTPSERVERRESPONSE_H
|