-
- すべてのスーパー・インタフェース:
Flow.Publisher<ByteBuffer>
- 含まれているクラス:
- HttpRequest
public static interface HttpRequest.BodyProcessor extends Flow.Publisher<ByteBuffer>
高水準のJavaオブジェクトをリクエスト本体として送信するのに適したByteBufferのフローに変換するプロセッサ。
インキュベーション機能。将来のリリースで削除されます。BodyProcessorは、Flow.Publisherを実装しています。つまり、バイト・バッファのパブリッシャとして機能します。HTTPクライアント実装は、発信データ・バッファのフローを受信するためにプロセッサに加入します。
Flow.SubscriberとFlow.Publisherの通常のセマンティクスはライブラリによって実装され、プロセッサの実装から期待されます。 それぞれの発信リクエストは、リクエスト本文を含むByteBufferのシーケンスを提供するために、Publisherに加入する1つのSubscriberをもたらす。ByteBufferはプロセッサによって割り当てられなければならず、ライブラリに引き渡された後はアクセスしてはいけません。 これらのサブスクリプションは、リクエストが完全に送信されたときに正常に完了し、エラーによって早期に取消または終了することができます。 何らかの理由でリクエストを再送信する必要がある場合、以前と同じデータを生成すると予想される新しいサブスクリプションが作成されます。
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 longcontentLength()このリクエスト本文のコンテンツ長を返します。static HttpRequest.BodyProcessorfromByteArray(byte[] buf)本文が指定されたバイト配列であるリクエスト本文プロセッサを返します。static HttpRequest.BodyProcessorfromByteArray(byte[] buf, int offset, int length)指定されたoffsetから始まるlengthバイトの指定されたバイト配列の内容を本文とするリクエスト本文プロセッサを返します。static HttpRequest.BodyProcessorfromByteArrays(Iterable<byte[]> iter)バイト配列のIterableからデータを受け取るリクエスト本文プロセッサ。static HttpRequest.BodyProcessorfromFile(Path path)ファイルの内容からデータを取得するリクエスト本文プロセッサ。static HttpRequest.BodyProcessorfromInputStream(Supplier<? extends InputStream> streamSupplier)InputStreamからデータを読み取るリクエスト本文プロセッサ。static HttpRequest.BodyProcessorfromString(String body)UTF_8文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。static HttpRequest.BodyProcessorfromString(String s, Charset charset)指定された文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。-
interface java.util.concurrent.Flow.Publisherから継承したメソッド
subscribe
-
-
-
-
メソッドの詳細
-
fromString
static HttpRequest.BodyProcessor fromString(String body)
UTF_8文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。- パラメータ:
body- 本文を含むString- 戻り値:
- BodyProcessor
-
fromString
static HttpRequest.BodyProcessor fromString(String s, Charset charset)
指定された文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。- パラメータ:
s- 本文を含むStringcharset- 文字列をバイトに変換する文字セット- 戻り値:
- BodyProcessor
-
fromInputStream
static HttpRequest.BodyProcessor fromInputStream(Supplier<? extends InputStream> streamSupplier)
InputStreamからデータを読み取るリクエスト本文プロセッサ。InputStreamのSupplierは、コンテンツがバッファされていないため、リクエストを再度送信する必要がある場合に使用されます。Supplierは後続の試行でnullを返します。その場合、リクエストは失敗します。- パラメータ:
streamSupplier- オープンなInputStreamのサプライヤ- 戻り値:
- BodyProcessor
-
fromByteArray
static HttpRequest.BodyProcessor fromByteArray(byte[] buf)
本文が指定されたバイト配列であるリクエスト本文プロセッサを返します。- パラメータ:
buf- 本文を含むバイト配列- 戻り値:
- BodyProcessor
-
fromByteArray
static HttpRequest.BodyProcessor fromByteArray(byte[] buf, int offset, int length)
指定されたoffsetから始まるlengthバイトの指定されたバイト配列の内容を本文とするリクエスト本文プロセッサを返します。- パラメータ:
buf- 本文を含むバイト配列offset- 最初のバイトのオフセットlength- 使用するバイト数- 戻り値:
- BodyProcessor
-
fromFile
static HttpRequest.BodyProcessor fromFile(Path path) throws FileNotFoundException
ファイルの内容からデータを取得するリクエスト本文プロセッサ。- パラメータ:
path- 本文を含むファイルへのパス- 戻り値:
- BodyProcessor
- 例外:
FileNotFoundException- パスが見つからない場合
-
fromByteArrays
static HttpRequest.BodyProcessor fromByteArrays(Iterable<byte[]> iter)
バイト配列のIterableからデータを受け取るリクエスト本文プロセッサ。Iteratorインスタンスを提供するIterableが提供されています。 リクエストを送信しようとするたびに、Iterableが1回呼び出されます- パラメータ:
iter- バイト配列のIterable- 戻り値:
- BodyProcessor
-
contentLength
long contentLength()
このリクエスト本文のコンテンツ長を返します。 リクエスト・コンテンツが送信されていない場合は0、固定長コンテンツの場合は0より大きい、未知のコンテンツ長の場合は0未満である可能性があります。- 戻り値:
- 既知の場合はこのリクエスト本文のコンテンツ長
-
-