-
- すべてのスーパー・インタフェース:
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メソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 long
contentLength()
このリクエスト本文のコンテンツ長を返します。static HttpRequest.BodyProcessor
fromByteArray(byte[] buf)
本文が指定されたバイト配列であるリクエスト本文プロセッサを返します。static HttpRequest.BodyProcessor
fromByteArray(byte[] buf, int offset, int length)
指定されたoffset
から始まるlength
バイトの指定されたバイト配列の内容を本文とするリクエスト本文プロセッサを返します。static HttpRequest.BodyProcessor
fromByteArrays(Iterable<byte[]> iter)
バイト配列のIterable
からデータを受け取るリクエスト本文プロセッサ。static HttpRequest.BodyProcessor
fromFile(Path path)
ファイルの内容からデータを取得するリクエスト本文プロセッサ。static HttpRequest.BodyProcessor
fromInputStream(Supplier<? extends InputStream> streamSupplier)
InputStream
からデータを読み取るリクエスト本文プロセッサ。static HttpRequest.BodyProcessor
fromString(String body)
UTF_8
文字セットを使用して変換された、与えられたString
を本文とするリクエスト本体プロセッサを返します。static HttpRequest.BodyProcessor
fromString(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未満である可能性があります。- 戻り値:
- 既知の場合はこのリクエスト本文のコンテンツ長
-
-