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