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におけるエラー