モジュール jdk.incubator.httpclient
パッケージ jdk.incubator.http

インタフェースHttpRequest.BodyProcessor

  • すべてのスーパー・インタフェース:
    Flow.Publisher<ByteBuffer>
    含まれているクラス:
    HttpRequest


    public static interface HttpRequest.BodyProcessor
    extends Flow.Publisher<ByteBuffer>
    高水準のJavaオブジェクトをリクエスト本体として送信するのに適したByteBufferのフローに変換するプロセッサ。
    インキュベーション機能。将来のリリースで削除されます。

    BodyProcessorは、Flow.Publisherを実装しています。つまり、バイト・バッファのパブリッシャとして機能します。

    HTTPクライアント実装は、発信データ・バッファのフローを受信するためにプロセッサに加入します。 Flow.SubscriberFlow.Publisherの通常のセマンティクスはライブラリによって実装され、プロセッサの実装から期待されます。 それぞれの発信リクエストは、リクエスト本文を含むByteBufferのシーケンスを提供するために、Publisherに加入する1つのSubscriberをもたらす。 ByteBufferはプロセッサによって割り当てられなければならず、ライブラリに引き渡された後はアクセスしてはいけません。 これらのサブスクリプションは、リクエストが完全に送信されたときに正常に完了し、エラーによって早期に取消または終了することができます。 何らかの理由でリクエストを再送信する必要がある場合、以前と同じデータを生成すると予想される新しいサブスクリプションが作成されます。

    • メソッドの詳細

      • fromString

        static HttpRequest.BodyProcessor fromString​(String body)
        UTF_8文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。
        パラメータ:
        body - 本文を含むString
        戻り値:
        BodyProcessor
      • fromString

        static HttpRequest.BodyProcessor fromString​(String s,
                                                    Charset charset)
        指定された文字セットを使用して変換された、与えられたStringを本文とするリクエスト本体プロセッサを返します。
        パラメータ:
        s - 本文を含むString
        charset - 文字列をバイトに変換する文字セット
        戻り値:
        BodyProcessor
      • fromInputStream

        static HttpRequest.BodyProcessor fromInputStream​(Supplier<? extends InputStream> streamSupplier)
        InputStreamからデータを読み取るリクエスト本文プロセッサ。 InputStreamSupplierは、コンテンツがバッファされていないため、リクエストを再度送信する必要がある場合に使用されます。 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
      • fromByteArrays

        static HttpRequest.BodyProcessor fromByteArrays​(Iterable<byte[]> iter)
        バイト配列のIterableからデータを受け取るリクエスト本文プロセッサ。 Iteratorインスタンスを提供するIterableが提供されています。 リクエストを送信しようとするたびに、Iterableが1回呼び出されます
        パラメータ:
        iter - バイト配列のIterable
        戻り値:
        BodyProcessor
      • contentLength

        long contentLength​()
        このリクエスト本文のコンテンツ長を返します。 リクエスト・コンテンツが送信されていない場合は0、固定長コンテンツの場合は0より大きい、未知のコンテンツ長の場合は0未満である可能性があります。
        戻り値:
        既知の場合はこのリクエスト本文のコンテンツ長