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::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 |
メンバ関数ドキュメント
[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 で導入されました。
writeChunk とwriteEndChunkedも参照して ください。
[since 6.8]
void QHttpServerResponder::writeBeginChunked(const QHttpHeaders &headers, QHttpServerResponder::StatusCode status = StatusCode::Ok)
headers とステータスコードstatus でデータチャンクの送信を開始します。この呼び出しの後には、writeChunk
の呼び出しとwriteEndChunked
の呼び出しを任意の回数繰り返す必要があります。
この関数は Qt 6.8 で導入されました。
writeChunk とwriteEndChunkedも参照して ください。
[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 で導入されました。
writeChunk とwriteEndChunkedも参照してください 。
[since 6.8]
void QHttpServerResponder::writeChunk(const QByteArray &data)
data をクライアントに書き戻します。データが書き込めるようになったときに呼び出されます。この関数は複数回呼び出すことができますが、writeBeginChunked
を呼び出す前に、writeEndChunked
を呼び出す必要があります。
この関数は Qt 6.8 で導入されました。
writeBeginChunked とwriteEndChunkedも参照してください 。
[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 で導入されました。
writeBeginChunked とwriteChunkも参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。