Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

QHttpServerResponder Class

API for sending replies from an HTTP server. More...

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

Public Types

HeaderList
enum class StatusCode { Continue, SwitchingProtocols, Processing, Ok, Created, …, NetworkConnectTimeoutError }

Public Functions

QHttpServerResponder(QHttpServerResponder &&other)
~QHttpServerResponder()
QTcpSocket * socket() const
void write(QIODevice *data, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(QIODevice *data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QJsonDocument &document, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QJsonDocument &document, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QByteArray &data, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QByteArray &data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(QHttpServerResponder::StatusCode status = StatusCode::Ok)
void writeBody(const char *body, qint64 size)
void writeBody(const char *body)
void writeBody(const QByteArray &body)
void writeHeader(const QByteArray &header, const QByteArray &value)
void writeHeaders(QHttpServerResponder::HeaderList headers)
void writeStatusLine(QHttpServerResponder::StatusCode status = StatusCode::Ok)

Detailed Description

Provides functions for writing back to an HTTP client with overloads for serializing JSON objects. It also has support for writing HTTP headers and status code. This class can be constructed by calling the protected static function makeResponder() in the QAbstractHttpServer class.

Member Type Documentation

[alias] QHttpServerResponder::HeaderList

Type alias for std::initializer_list<std::pair<QByteArray, QByteArray>>

enum class QHttpServerResponder::StatusCode

HTTP status codes

Constant Value
QHttpServerResponder::StatusCode::Continue 100
QHttpServerResponder::StatusCode::SwitchingProtocols 101
QHttpServerResponder::StatusCode::Processing 102
QHttpServerResponder::StatusCode::Ok 200
QHttpServerResponder::StatusCode::Created 201
QHttpServerResponder::StatusCode::Accepted 202
QHttpServerResponder::StatusCode::NonAuthoritativeInformation 203
QHttpServerResponder::StatusCode::NoContent 204
QHttpServerResponder::StatusCode::ResetContent 205
QHttpServerResponder::StatusCode::PartialContent 206
QHttpServerResponder::StatusCode::MultiStatus 207
QHttpServerResponder::StatusCode::AlreadyReported 208
QHttpServerResponder::StatusCode::IMUsed 226
QHttpServerResponder::StatusCode::MultipleChoices 300
QHttpServerResponder::StatusCode::MovedPermanently 301
QHttpServerResponder::StatusCode::Found 302
QHttpServerResponder::StatusCode::SeeOther 303
QHttpServerResponder::StatusCode::NotModified 304
QHttpServerResponder::StatusCode::UseProxy 305
QHttpServerResponder::StatusCode::TemporaryRedirect 307
QHttpServerResponder::StatusCode::PermanentRedirect 308
QHttpServerResponder::StatusCode::BadRequest 400
QHttpServerResponder::StatusCode::Unauthorized 401
QHttpServerResponder::StatusCode::PaymentRequired 402
QHttpServerResponder::StatusCode::Forbidden 403
QHttpServerResponder::StatusCode::NotFound 404
QHttpServerResponder::StatusCode::MethodNotAllowed 405
QHttpServerResponder::StatusCode::NotAcceptable 406
QHttpServerResponder::StatusCode::ProxyAuthenticationRequired 407
QHttpServerResponder::StatusCode::RequestTimeout 408
QHttpServerResponder::StatusCode::Conflict 409
QHttpServerResponder::StatusCode::Gone 410
QHttpServerResponder::StatusCode::LengthRequired 411
QHttpServerResponder::StatusCode::PreconditionFailed 412
QHttpServerResponder::StatusCode::PayloadTooLarge 413
QHttpServerResponder::StatusCode::UriTooLong 414
QHttpServerResponder::StatusCode::UnsupportedMediaType 415
QHttpServerResponder::StatusCode::RequestRangeNotSatisfiable 416
QHttpServerResponder::StatusCode::ExpectationFailed 417
QHttpServerResponder::StatusCode::ImATeapot 418
QHttpServerResponder::StatusCode::MisdirectedRequest 421
QHttpServerResponder::StatusCode::UnprocessableEntity 422
QHttpServerResponder::StatusCode::Locked 423
QHttpServerResponder::StatusCode::FailedDependency 424
QHttpServerResponder::StatusCode::UpgradeRequired 426
QHttpServerResponder::StatusCode::PreconditionRequired 428
QHttpServerResponder::StatusCode::TooManyRequests 429
QHttpServerResponder::StatusCode::RequestHeaderFieldsTooLarge 431
QHttpServerResponder::StatusCode::UnavailableForLegalReasons 451
QHttpServerResponder::StatusCode::InternalServerError 500
QHttpServerResponder::StatusCode::NotImplemented 501
QHttpServerResponder::StatusCode::BadGateway 502
QHttpServerResponder::StatusCode::ServiceUnavailable 503
QHttpServerResponder::StatusCode::GatewayTimeout 504
QHttpServerResponder::StatusCode::HttpVersionNotSupported 505
QHttpServerResponder::StatusCode::VariantAlsoNegotiates 506
QHttpServerResponder::StatusCode::InsufficientStorage 507
QHttpServerResponder::StatusCode::LoopDetected 508
QHttpServerResponder::StatusCode::NotExtended 510
QHttpServerResponder::StatusCode::NetworkAuthenticationRequired 511
QHttpServerResponder::StatusCode::NetworkConnectTimeoutError 599

Member Function Documentation

QHttpServerResponder::QHttpServerResponder(QHttpServerResponder &&other)

Move-constructs a QHttpServerResponder instance, making it point at the same object that other was pointing to.

QHttpServerResponder::~QHttpServerResponder()

Destroys a QHttpServerResponder.

QTcpSocket *QHttpServerResponder::socket() const

Returns the socket used.

void QHttpServerResponder::write(QIODevice *data, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status and HTTP headers headers. The I/O device data provides the body of the response. If data is sequential, the body of the message is sent in chunks: otherwise, the function assumes all the content is available and sends it all at once but the read is done in chunks.

Note: This function takes the ownership of data.

void QHttpServerResponder::write(QIODevice *data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status and a MIME type mimeType. The I/O device data provides the body of the response. If data is sequential, the body of the message is sent in chunks: otherwise, the function assumes all the content is available and sends it all at once but the read is done in chunks.

Note: This function takes the ownership of data.

void QHttpServerResponder::write(const QJsonDocument &document, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status, JSON document document and HTTP headers headers.

Note: This function sets HTTP Content-Type header as "application/json".

void QHttpServerResponder::write(const QJsonDocument &document, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status, and JSON document document.

Note: This function sets HTTP Content-Type header as "application/json".

void QHttpServerResponder::write(const QByteArray &data, QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status, HTTP Headers headers and a body data.

Note: This function sets HTTP Content-Length header.

void QHttpServerResponder::write(const QByteArray &data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status, a MIME type mimeType and a body data.

void QHttpServerResponder::write(QHttpServerResponder::HeaderList headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status and HTTP Headers headers.

void QHttpServerResponder::write(QHttpServerResponder::StatusCode status = StatusCode::Ok)

Answers a request with an HTTP status code status.

Note: This function sets HTTP Content-Type header as "application/x-empty".

void QHttpServerResponder::writeBody(const char *body, qint64 size)

This function writes HTTP body body with size size.

void QHttpServerResponder::writeBody(const char *body)

This function writes HTTP body body.

void QHttpServerResponder::writeBody(const QByteArray &body)

This function writes HTTP body body.

void QHttpServerResponder::writeHeader(const QByteArray &header, const QByteArray &value)

This function writes an HTTP header header with value.

void QHttpServerResponder::writeHeaders(QHttpServerResponder::HeaderList headers)

This function writes HTTP headers headers.

void QHttpServerResponder::writeStatusLine(QHttpServerResponder::StatusCode status = StatusCode::Ok)

This function writes HTTP status line with an HTTP status code status.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded