QHttpServerResponse Class

Encapsulates an HTTP response. More...

Header: #include <QHttpServerResponse>
CMake: find_package(Qt6 REQUIRED COMPONENTS HttpServer)
target_link_libraries(mytarget PRIVATE Qt6::HttpServer)
qmake: QT += httpserver
Since: Qt 6.4
Status: Technical Preview

Public Types

Public Functions

QHttpServerResponse(const QHttpServerResponse::StatusCode statusCode)
QHttpServerResponse(const char *data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QString &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QJsonObject &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QJsonArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QByteArray &mimeType, const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(QByteArray &&mimeType, const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(const QByteArray &mimeType, QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(QByteArray &&mimeType, QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)
QHttpServerResponse(QHttpServerResponse &&other)
~QHttpServerResponse()
void addHeader(QByteArray &&name, QByteArray &&value)
void addHeader(QByteArray &&name, const QByteArray &value)
void addHeader(const QByteArray &name, QByteArray &&value)
void addHeader(const QByteArray &name, const QByteArray &value)
void addHeaders(QHttpServerResponder::HeaderList headers)
void addHeaders(const Container &headerList)
void clearHeader(const QByteArray &name)
void clearHeaders()
QByteArray data() const
bool hasHeader(const QByteArray &header) const
bool hasHeader(const QByteArray &name, const QByteArray &value) const
QList<QByteArray> headers(const QByteArray &name) const
QByteArray mimeType() const
void setHeader(QByteArray &&name, QByteArray &&value)
void setHeader(QByteArray &&name, const QByteArray &value)
void setHeader(const QByteArray &name, QByteArray &&value)
void setHeader(const QByteArray &name, const QByteArray &value)
void setHeaders(QHttpServerResponder::HeaderList headers)
QHttpServerResponse::StatusCode statusCode() const
QHttpServerResponse &operator=(QHttpServerResponse &&other)

Static Public Members

QHttpServerResponse fromFile(const QString &fileName)

Detailed Description

API for creating, reading and modifying a response from an HTTP server, and for writing its contents to a QHttpServerResponder. It has numerous constructors, and static function fromFile for constructing it from the contents of a file. There are functions for setting, getting, and removing headers, and for getting the data, status code and mime type.

Member Type Documentation

[alias] QHttpServerResponse::StatusCode

Type alias for QHttpServerResponder::StatusCode

Member Function Documentation

QHttpServerResponse::QHttpServerResponse(QByteArray &&mimeType, QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

QHttpServerResponse::QHttpServerResponse(QByteArray &&mimeType, const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

QHttpServerResponse::QHttpServerResponse(const QByteArray &mimeType, QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

QHttpServerResponse::QHttpServerResponse(const QByteArray &mimeType, const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServer response.

The response will use the given status code and deliver the data as its body, with a ContentType header describing it as being of MIME type mimeType.

QHttpServerResponse::QHttpServerResponse(const QHttpServerResponse::StatusCode statusCode)

Creates a QHttpServerResponse object with the status code statusCode.

QHttpServerResponse::QHttpServerResponse(const char *data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServerResponse object from data with the status code status.

QHttpServerResponse::QHttpServerResponse(const QString &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServerResponse object from data with the status code status.

[explicit] QHttpServerResponse::QHttpServerResponse(const QByteArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServerResponse object from data with the status code status.

[explicit] QHttpServerResponse::QHttpServerResponse(QByteArray &&data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Move-constructs a QHttpServerResponse whose body will contain the given data with the status code status.

QHttpServerResponse::QHttpServerResponse(const QJsonObject &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServerResponse object from data with the status code status.

QHttpServerResponse::QHttpServerResponse(const QJsonArray &data, const QHttpServerResponse::StatusCode status = StatusCode::Ok)

Creates a QHttpServerResponse object from data with the status code status.

[noexcept] QHttpServerResponse::QHttpServerResponse(QHttpServerResponse &&other)

Move-constructs an instance of a QHttpServerResponse object from other.

[noexcept] QHttpServerResponse::~QHttpServerResponse()

Destroys a QHttpServerResponse object.

void QHttpServerResponse::addHeader(QByteArray &&name, QByteArray &&value)

Adds the HTTP header with name name and value value, does not override any previously set headers.

void QHttpServerResponse::addHeader(QByteArray &&name, const QByteArray &value)

Adds the HTTP header with name name and value value, does not override any previously set headers.

void QHttpServerResponse::addHeader(const QByteArray &name, QByteArray &&value)

Adds the HTTP header with name name and value value, does not override any previously set headers.

void QHttpServerResponse::addHeader(const QByteArray &name, const QByteArray &value)

Adds the HTTP header with name name and value value, does not override any previously set headers.

void QHttpServerResponse::addHeaders(QHttpServerResponder::HeaderList headers)

Adds the HTTP headers in headers, does not override any previously set headers.

template <typename Container> void QHttpServerResponse::addHeaders(const Container &headerList)

Adds the HTTP headers in headerList, does not override any previously set headers.

Container must be a container that represents the header name and content as key-value pairs.

void QHttpServerResponse::clearHeader(const QByteArray &name)

Removes the HTTP header with name name.

void QHttpServerResponse::clearHeaders()

Removes all HTTP headers.

QByteArray QHttpServerResponse::data() const

Returns the response body.

[static] QHttpServerResponse QHttpServerResponse::fromFile(const QString &fileName)

Returns a QHttpServerResponse from the content of the file fileName.

It is the caller's responsibility to sanity-check the filename, and to have a well-defined policy for which files the server will request.

bool QHttpServerResponse::hasHeader(const QByteArray &header) const

Returns true if the response contains an HTTP header with name header, otherwise returns false.

bool QHttpServerResponse::hasHeader(const QByteArray &name, const QByteArray &value) const

Returns true if the response contains an HTTP header with name name and with value value, otherwise returns false.

QList<QByteArray> QHttpServerResponse::headers(const QByteArray &name) const

Returns values of the HTTP header with name name.

See also setHeaders().

QByteArray QHttpServerResponse::mimeType() const

Returns the value of the HTTP "Content-Type" header.

Note: Default value is "text/html"

void QHttpServerResponse::setHeader(QByteArray &&name, QByteArray &&value)

Sets the HTTP header with name name and value value, overriding any previously set headers.

See also hasHeader().

void QHttpServerResponse::setHeader(QByteArray &&name, const QByteArray &value)

Sets the HTTP header with name name and value value, overriding any previously set headers.

void QHttpServerResponse::setHeader(const QByteArray &name, QByteArray &&value)

Sets the HTTP header with name name and value value, overriding any previously set headers.

void QHttpServerResponse::setHeader(const QByteArray &name, const QByteArray &value)

Sets the HTTP header with name name and value value, overriding any previously set headers.

void QHttpServerResponse::setHeaders(QHttpServerResponder::HeaderList headers)

Sets the headers headers, overriding any previously set headers.

See also headers().

QHttpServerResponse::StatusCode QHttpServerResponse::statusCode() const

Returns the status code.

[noexcept] QHttpServerResponse &QHttpServerResponse::operator=(QHttpServerResponse &&other)

Move-assigns the values of other to this object.