public class SimpleClientHttpRequestFactory extends ObjectSE implements ClientHttpRequestFactory, AsyncClientHttpRequestFactory
ClientHttpRequestFactory
実装。HttpURLConnection
SE, HttpComponentsClientHttpRequestFactory
コンストラクターと説明 |
---|
SimpleClientHttpRequestFactory() |
修飾子と型 | メソッドと説明 |
---|---|
AsyncClientHttpRequest | createAsyncRequest(URISE uri, HttpMethod httpMethod) 指定された URI および HTTP メソッドの新しい非同期 AsyncClientHttpRequest を作成します。 |
ClientHttpRequest | createRequest(URISE uri, HttpMethod httpMethod) 指定された URI および HTTP メソッドの新しい ClientHttpRequest を作成します。 |
protected HttpURLConnectionSE | openConnection(URLSE url, ProxySE proxy) 指定された URL への接続を開いて返します。 |
protected void | prepareConnection(HttpURLConnectionSE connection, StringSE httpMethod) 指定された HttpURLConnection SE を準備するためのテンプレートメソッド。 |
void | setBufferRequestBody(boolean bufferRequestBody) このリクエストファクトリがリクエストボディを内部でバッファリングするかどうかを示します。 |
void | setChunkSize(int chunkSize) リクエスト本文をローカルにバッファリングしない場合に、各チャンクに書き込むバイト数を設定します。 |
void | setConnectTimeout(int connectTimeout) 基礎となる URLConnection の接続タイムアウトを設定します(ミリ秒単位)。 |
void | setOutputStreaming(boolean outputStreaming) 基になる URLConnection を「出力ストリーミング」モードに設定できる場合に設定します。 |
void | setProxy(ProxySE proxy) このリクエストファクトリに使用する Proxy SE を設定します。 |
void | setReadTimeout(int readTimeout) 基礎となる URLConnection の読み取りタイムアウトを設定します(ミリ秒単位)。 |
void | setTaskExecutor(AsyncListenableTaskExecutor taskExecutor) このリクエストファクトリのタスクエグゼキューターを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setBufferRequestBody(boolean bufferRequestBody)
デフォルトは true
です。POST または PUT を介して大量のデータを送信する場合、メモリが不足しないように、このプロパティを false
に変更することをお勧めします。これにより、基になる HttpURLConnection
SE に直接ストリーミングする ClientHttpRequest
(Content-Length
が事前にわかっている場合)、または「チャンク転送エンコード」を使用する ClientHttpRequest
が得られます(Content-Length
が事前にわかっていない場合)。
public void setChunkSize(int chunkSize)
このパラメーターは、bufferRequestBody
が false
に設定されている場合にのみ使用され、Content-Length
は事前に認識されていないことに注意してください。
public void setConnectTimeout(int connectTimeout)
デフォルトは、システムのデフォルトのタイムアウトです。
public void setReadTimeout(int readTimeout)
デフォルトは、システムのデフォルトのタイムアウトです。
public void setOutputStreaming(boolean outputStreaming)
true
です。 出力ストリーミングが有効な場合、認証とリダイレクトは自動的に処理できません。出力ストリーミングが無効になっている場合、基礎となる接続の HttpURLConnection.setFixedLengthStreamingMode(int)
SE および HttpURLConnection.setChunkedStreamingMode(int)
SE メソッドは呼び出されません。
outputStreaming
- 出力ストリーミングが有効な場合 public void setTaskExecutor(AsyncListenableTaskExecutor taskExecutor)
taskExecutor
- タスクエグゼキューター public ClientHttpRequest createRequest(URISE uri, HttpMethod httpMethod) throws IOExceptionSE
ClientHttpRequestFactory
ClientHttpRequest
を作成します。 返されたリクエストは、ClientHttpRequest.execute()
を呼び出して書き込み、実行できます。
ClientHttpRequestFactory
の createRequest
uri
- リクエストを作成する URIhttpMethod
- 実行する HTTP メソッド IOExceptionSE
- I/O エラーの場合 public AsyncClientHttpRequest createAsyncRequest(URISE uri, HttpMethod httpMethod) throws IOExceptionSE
AsyncClientHttpRequest
を作成します。 返されたリクエストは、AsyncClientHttpRequest.executeAsync()
を呼び出して書き込み、実行できます。
このメソッドを呼び出す前に、taskExecutor
プロパティを設定する必要があります。
AsyncClientHttpRequestFactory
の createAsyncRequest
uri
- リクエストを作成する URIhttpMethod
- 実行する HTTP メソッド IOExceptionSE
- I/O エラーの場合 protected HttpURLConnectionSE openConnection(URLSE url, @Nullable ProxySE proxy) throws IOExceptionSE
デフォルトの実装では、指定されたプロキシ(存在する場合)を使用して接続を開きます。
url
- 接続を開くための URLproxy
- 使用するプロキシ。null
の場合があります IOExceptionSE
- I/O エラーの場合 protected void prepareConnection(HttpURLConnectionSE connection, StringSE httpMethod) throws IOExceptionSE
HttpURLConnection
SE を準備するためのテンプレートメソッド。デフォルトの実装では、入力と出力の接続を準備し、HTTP メソッドを設定します。
connection
- 準備する接続 httpMethod
- HTTP リクエストメソッド (GET
、POST
など。)IOExceptionSE
- I/O エラーの場合