QHttpServerResponder Class

HTTPサーバーから返信を送信するためのAPI。詳細...

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

パブリック型

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

パブリック関数

QHttpServerResponder(QHttpServerResponder &&other)
~QHttpServerResponder()
(since 6.5) void sendResponse(const QHttpServerResponse &response)
(since 6.8) void swap(QHttpServerResponder &other)
void write(QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QJsonDocument &document, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(QIODevice *data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(QIODevice *data, const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QByteArray &data, const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QByteArray &data, const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
void write(const QJsonDocument &document, const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
(since 6.8) void writeBeginChunked(const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)
(since 6.8) void writeBeginChunked(const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
(since 6.8) void writeBeginChunked(const QHttpHeaders &headers, QList<QHttpHeaders::WellKnownHeader> trailers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
(since 6.8) void writeChunk(const QByteArray &data)
(since 6.8) void writeEndChunked(const QByteArray &data)
(since 6.8) void writeEndChunked(const QByteArray &data, const QHttpHeaders &trailers)

詳細説明

JSON オブジェクトをシリアライズするためのオーバーロードを持つ HTTP クライアントに書き戻すための関数を提供します。また、HTTP ヘッダとステータスコードの書き込みもサポートしています。

メンバ型の説明

enum class QHttpServerResponder::StatusCode

HTTP ステータスコード

定数
QHttpServerResponder::StatusCode::Continue100
QHttpServerResponder::StatusCode::SwitchingProtocols101
QHttpServerResponder::StatusCode::Processing102
QHttpServerResponder::StatusCode::Ok200
QHttpServerResponder::StatusCode::Created201
QHttpServerResponder::StatusCode::Accepted202
QHttpServerResponder::StatusCode::NonAuthoritativeInformation203
QHttpServerResponder::StatusCode::NoContent204
QHttpServerResponder::StatusCode::ResetContent205
QHttpServerResponder::StatusCode::PartialContent206
QHttpServerResponder::StatusCode::MultiStatus207
QHttpServerResponder::StatusCode::AlreadyReported208
QHttpServerResponder::StatusCode::IMUsed226
QHttpServerResponder::StatusCode::MultipleChoices300
QHttpServerResponder::StatusCode::MovedPermanently301
QHttpServerResponder::StatusCode::Found302
QHttpServerResponder::StatusCode::SeeOther303
QHttpServerResponder::StatusCode::NotModified304
QHttpServerResponder::StatusCode::UseProxy305
QHttpServerResponder::StatusCode::TemporaryRedirect307
QHttpServerResponder::StatusCode::PermanentRedirect308
QHttpServerResponder::StatusCode::BadRequest400
QHttpServerResponder::StatusCode::Unauthorized401
QHttpServerResponder::StatusCode::PaymentRequired402
QHttpServerResponder::StatusCode::Forbidden403
QHttpServerResponder::StatusCode::NotFound404
QHttpServerResponder::StatusCode::MethodNotAllowed405
QHttpServerResponder::StatusCode::NotAcceptable406
QHttpServerResponder::StatusCode::ProxyAuthenticationRequired407
QHttpServerResponder::StatusCode::RequestTimeout408
QHttpServerResponder::StatusCode::Conflict409
QHttpServerResponder::StatusCode::Gone410
QHttpServerResponder::StatusCode::LengthRequired411
QHttpServerResponder::StatusCode::PreconditionFailed412
QHttpServerResponder::StatusCode::PayloadTooLarge413
QHttpServerResponder::StatusCode::UriTooLong414
QHttpServerResponder::StatusCode::UnsupportedMediaType415
QHttpServerResponder::StatusCode::RequestRangeNotSatisfiable416
QHttpServerResponder::StatusCode::ExpectationFailed417
QHttpServerResponder::StatusCode::ImATeapot418
QHttpServerResponder::StatusCode::MisdirectedRequest421
QHttpServerResponder::StatusCode::UnprocessableEntity422
QHttpServerResponder::StatusCode::Locked423
QHttpServerResponder::StatusCode::FailedDependency424
QHttpServerResponder::StatusCode::UpgradeRequired426
QHttpServerResponder::StatusCode::PreconditionRequired428
QHttpServerResponder::StatusCode::TooManyRequests429
QHttpServerResponder::StatusCode::RequestHeaderFieldsTooLarge431
QHttpServerResponder::StatusCode::UnavailableForLegalReasons451
QHttpServerResponder::StatusCode::InternalServerError500
QHttpServerResponder::StatusCode::NotImplemented501
QHttpServerResponder::StatusCode::BadGateway502
QHttpServerResponder::StatusCode::ServiceUnavailable503
QHttpServerResponder::StatusCode::GatewayTimeout504
QHttpServerResponder::StatusCode::HttpVersionNotSupported505
QHttpServerResponder::StatusCode::VariantAlsoNegotiates506
QHttpServerResponder::StatusCode::InsufficientStorage507
QHttpServerResponder::StatusCode::LoopDetected508
QHttpServerResponder::StatusCode::NotExtended510
QHttpServerResponder::StatusCode::NetworkAuthenticationRequired511
QHttpServerResponder::StatusCode::NetworkConnectTimeoutError599

メンバ関数ドキュメント

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

Move-QHttpServerResponder インスタンスを構築し、other が指していたのと同じオブジェクトを指すようにします。

[noexcept] QHttpServerResponder::~QHttpServerResponder()

QHttpServerResponder を破棄します。

[since 6.5] void QHttpServerResponder::sendResponse(const QHttpServerResponse &response)

HTTPresponse をクライアントに送信します。

この関数は Qt 6.5 で導入されました。

[noexcept, since 6.8] void QHttpServerResponder::swap(QHttpServerResponder &other)

QHttpServerResponder other をこのQHttpServerResponder と交換します。この操作は非常に高速で、失敗することはありません。

この関数はQt 6.8で導入されました。

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

HTTP ステータスコードstatus でリクエストに応答します。

注意: この関数はHTTP Content-Typeヘッダを "application/x-empty "に設定します。

void QHttpServerResponder::write(const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

HTTP ステータスコードstatus と HTTP ヘッダーheaders を持つリクエストに応答します。

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

HTTP ステータスコードstatus と JSON ドキュメントdocument を持つリクエストに応答します。

注:この関数は、HTTP Content-Typeヘッダーを "application/json "に設定する。

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

HTTP ステータスコードstatus と MIME タイプmimeType を持つリクエストに応答する。I/Oデバイスdata はレスポンスのボディを提供する。data がシーケンシャルな場合、メッセージのボディはチャンクで送信される。そうでない場合、この関数はすべてのコンテンツが利用可能であると仮定し、一度に送信するが、読み込みはチャンクで行われる。

注意: この関数はdata のオーナーシップを取る。

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

HTTP ステータスコードstatus と HTTP ヘッダーheaders を持つリクエストに応答する。I/Oデバイスdata はレスポンスのボディを提供する。data がシーケンシャルな場合、メッセージのボディはチャンクで送信されます。そうでない場合、この関数はすべてのコンテンツが利用可能であると仮定し、一度に送信しますが、読み込みはチャンクで行われます。

注意: この関数はdata のオーナーシップを取る。

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

HTTP ステータスコードstatus 、MIME タイプmimeType 、ボディdata を持つリクエストに応答します。

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

HTTP ステータスコードstatus 、HTTP ヘッダーheaders 、ボディdata を持つリクエストに応答する。

注:この関数はHTTP Content-Lengthヘッダーを設定する。

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

HTTP ステータスコードstatus 、JSON ドキュメントdocument 、HTTP ヘッダーheaders を持つリクエストに応答します。

注:この関数は、HTTP Content-Typeヘッダーを "application/json "に設定する。

[since 6.8] void QHttpServerResponder::writeBeginChunked(const QByteArray &mimeType, QHttpServerResponder::StatusCode status = StatusCode::Ok)

MIMEタイプmimeType 、指定されたステータスコードstatus を持つデータチャンクの送信を開始する。この呼び出しの後には、writeChunk の呼び出しと、writeEndChunked の呼び出しを任意の回数繰り返す必要があります。

この関数は Qt 6.8 で導入されました。

writeChunkwriteEndChunkedも参照して ください。

[since 6.8] void QHttpServerResponder::writeBeginChunked(const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

headers とステータスコードstatus でデータチャンクの送信を開始します。この呼び出しの後には、writeChunk の呼び出しとwriteEndChunked の呼び出しを任意の回数繰り返す必要があります。

この関数は Qt 6.8 で導入されました。

writeChunkwriteEndChunkedも参照して ください。

[since 6.8] void QHttpServerResponder::writeBeginChunked(const QHttpHeaders &headers, QList<QHttpHeaders::WellKnownHeader> trailers, QHttpServerResponder::StatusCode status = StatusCode::Ok)

headers と、与えられたステータスコードstatus で、データチャンクの送信を開始します。この呼び出しの後には、writeChunk を任意の回数繰り返し呼び出し、trailers で指定された同じトレーラで、writeEndChunked を1回呼び出す必要があります。

この関数は Qt 6.8 で導入されました。

writeChunkwriteEndChunkedも参照してください

[since 6.8] void QHttpServerResponder::writeChunk(const QByteArray &data)

data をクライアントに書き戻します。データが書き込めるようになったときに呼び出されます。この関数は複数回呼び出すことができますが、writeBeginChunked を呼び出す前に、writeEndChunked を呼び出す必要があります。

この関数は Qt 6.8 で導入されました。

writeBeginChunkedwriteEndChunkedも参照してください

[since 6.8] void QHttpServerResponder::writeEndChunked(const QByteArray &data)

data をクライアントに書き戻します。その前にwriteBeginChunked を呼び出す必要があります。

この関数は Qt 6.8 で導入されました。

writeBeginChunked およびwriteChunkも参照して ください。

[since 6.8] void QHttpServerResponder::writeEndChunked(const QByteArray &data, const QHttpHeaders &trailers)

writeBeginChunked で発表されたtrailers を使ってdata をクライアントに書き戻す。

この関数は Qt 6.8 で導入されました。

writeBeginChunkedwriteChunkも参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。