Package nablarch.fw.web.handler
Class HttpResponseHandler
java.lang.Object
nablarch.fw.web.handler.HttpResponseHandler
- All Implemented Interfaces:
Handler<HttpRequest,
HttpResponse>
ServletAPIを通じてHTTPレスポンス処理を行うハンドラ。
- Author:
- Iwauo Tajima <iwauo@tis.co.jp>, Masato Inoue
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionhandle
(HttpRequest req, ExecutionContext ctx) 入力データに対する処理を実行する。protected boolean
レスポンスがエラーか否かを判定する。void
setContentPathRule
(ResourcePathRule contentPathRule) 言語対応コンテンツパスのルールを設定する。void
setConvertMode
(String convertMode) HTTPレスポンスコードの変換モードを設定する。void
setCustomResponseWriter
(CustomResponseWriter customResponseWriter) HTTPレスポンス出力クラスを設定する。 このプロパティを設定することで、任意のレスポンス出力処理を実行できる。 設定されていない場合はサーブレットフォワード(JSP)によるレスポンス出力が実行される。ダウンロードファイル名のエンコーダを取得するクラスを設定するvoid
setForceFlushAfterWritingHeaders
(boolean usesFlush) HTTPヘッダーをwriteした直後にFlushするかどうかの設定 デフォルト値はtrueである。protected static void
setStatusCode
(HttpResponse res, ServletExecutionContext ctx) クライアントに送信するステータスコードを設定する。static void
writeBody
(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) メッセージボディの内容をクライアントに送信する。void
writeResponse
(HttpResponse res, ServletExecutionContext ctx) HTTPレスポンスオブジェクトの内容をもとに、 クライアントにレスポンスを返す。
-
Field Details
-
USER_AGENT
User-Agentヘッダ。- See Also:
-
-
Constructor Details
-
HttpResponseHandler
public HttpResponseHandler()
-
-
Method Details
-
setForceFlushAfterWritingHeaders
public void setForceFlushAfterWritingHeaders(boolean usesFlush) HTTPヘッダーをwriteした直後にFlushするかどうかの設定 デフォルト値はtrueである。- Parameters:
usesFlush
- Flushの有無
-
setDownloadFileNameEncoderFactory
public HttpResponseHandler setDownloadFileNameEncoderFactory(DownloadFileNameEncoderFactory factory) ダウンロードファイル名のエンコーダを取得するクラスを設定する- Parameters:
factory
- ダウンロードファイル名のエンコーダを取得するクラス- Returns:
- このオブジェクト自体。
-
setConvertMode
HTTPレスポンスコードの変換モードを設定する。
HTTPレスポンスコードの変換モードは以下のいずれかである。
- CONVERT_ONLY_400_TO_200
- CONVERT_ALL_TO_200
設定した値は、
HttpResponseUtil.chooseResponseStatusCode(HttpResponse, ServletExecutionContext)
で使用される。
変換の仕様については、HttpResponseUtil.chooseResponseStatusCode(HttpResponse, ServletExecutionContext)
を参照。- Parameters:
convertMode
- HTTPレスポンスコードの変換モード。
-
setCustomResponseWriter
HTTPレスポンス出力クラスを設定する。 このプロパティを設定することで、任意のレスポンス出力処理を実行できる。 設定されていない場合はサーブレットフォワード(JSP)によるレスポンス出力が実行される。- Parameters:
customResponseWriter
- HTTPレスポンス出力クラス
-
handle
入力データに対する処理を実行する。この実装では、後続ハンドラの処理結果(HttpResponse)の内容をもとに、 クライアントに対するレスポンス処理を行う。
- Specified by:
handle
in interfaceHandler<HttpRequest,
HttpResponse> - Parameters:
req
- 入力データctx
- 実行コンテキスト- Returns:
- 処理結果データ
- Throws:
ClassCastException
- 引数 ctx の実際の型が ServletExecutionContext でない場合。
-
writeResponse
HTTPレスポンスオブジェクトの内容をもとに、 クライアントにレスポンスを返す。- Parameters:
res
- HTTPレスポンスオブジェクトctx
- 実行コンテキスト
-
isErrorResponse
レスポンスがエラーか否かを判定する。ステータスコードが400以上であればtrue、 それ以外であればfalseを返す。
- Parameters:
res
- HTTPレスポンス- Returns:
- 判定結果
-
setContentPathRule
言語対応コンテンツパスのルールを設定する。- Parameters:
contentPathRule
- 言語対応コンテンツパスのルール
-
setStatusCode
クライアントに送信するステータスコードを設定する。- Parameters:
res
- HTTPレスポンスオブジェクトctx
- 実行コンテキスト
-
writeBody
public static void writeBody(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) throws IOException メッセージボディの内容をクライアントに送信する。- Parameters:
in
- 入力ストリームの内容nativeRes
- サーブレットレスポンス- Throws:
IOException
- ソケットI/Oにおけるエラー
-