Package nablarch.fw.jaxrs
Class JaxRsResponseHandler
java.lang.Object
nablarch.fw.jaxrs.JaxRsResponseHandler
- All Implemented Interfaces:
Handler<HttpRequest,
,HttpResponse> HttpRequestHandler
JAX-RS用のレスポンスを返却するハンドラ。
このハンドラでは、後続のハンドラから戻された
HttpResponse
の内容を、クライアントへのレスポンスとして書き込む。
後続のハンドラで例外が発生した場合には、ErrorResponseBuilder
を使用してエラー用のレスポンスを作成し、クライアントへのレスポンスとして書き込む。
後続のハンドラ及びErrorResponseBuilder
でHttpResponse
を生成する際には、レスポンスヘッダーも含めて設定する必要がある。
このハンドラでは、レスポンスヘッダーを自動的に設定するようなことはしない。- Author:
- Hisaaki Shioiri
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
finishResponse
(HttpRequest request, HttpResponse response, ExecutionContext context) レスポンスを仕上げる。handle
(HttpRequest request, ExecutionContext context) HTTPリクエストに対する処理を実行する。void
setErrorLogWriter
(JaxRsErrorLogWriter errorLogWriter) エラーログライターを設定する。void
setErrorResponseBuilder
(ErrorResponseBuilder errorResponseBuilder) エラーレスポンスビルダーを設定する。void
setResponseFinishers
(List<ResponseFinisher> responseFinishers) レスポンスフィニッシャーを設定する。protected static void
writeBody
(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) メッセージボディの内容をクライアントに送信する。protected void
writeHeaders
(HttpResponse response, jakarta.servlet.http.HttpServletResponse nativeResponse) レスポンスヘッダーを書き込む。protected void
writeResponse
(HttpResponse response, ServletExecutionContext context) レスポンスを書き込む。
-
Constructor Details
-
JaxRsResponseHandler
public JaxRsResponseHandler()
-
-
Method Details
-
handle
Description copied from interface:HttpRequestHandler
HTTPリクエストに対する処理を実行する。- Specified by:
handle
in interfaceHandler<HttpRequest,
HttpResponse> - Specified by:
handle
in interfaceHttpRequestHandler
- Parameters:
request
- HTTPリクエストオブジェクトcontext
- サーバサイド実行コンテキストオブジェクト- Returns:
- HTTPレスポンスオブジェクト
-
finishResponse
レスポンスを仕上げる。- Parameters:
request
- リクエストresponse
- レスポンスcontext
- コンテキスト
-
writeResponse
レスポンスを書き込む。- Parameters:
response
-HttpResponse
context
-ServletExecutionContext
-
writeHeaders
protected void writeHeaders(HttpResponse response, jakarta.servlet.http.HttpServletResponse nativeResponse) レスポンスヘッダーを書き込む。HttpResponse
内のヘッダー情報を、HttpServletResponse
に対して書き込む。- Parameters:
response
-HttpResponse
nativeResponse
-HttpServletResponse
-
writeBody
protected static void writeBody(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) throws IOException メッセージボディの内容をクライアントに送信する。- Parameters:
in
- 入力ストリームの内容nativeRes
- サーブレットレスポンス- Throws:
IOException
- ソケットI/Oにおけるエラー
-
setErrorResponseBuilder
エラーレスポンスビルダーを設定する。 デフォルト実装であるErrorResponseBuilder
を差し替えたい場合に拡張クラスを設定する。- Parameters:
errorResponseBuilder
- エラーレスポンスビルダー
-
setErrorLogWriter
エラーログライターを設定する。 デフォルト実装であるJaxRsErrorLogWriter
を差し替えたい場合に拡張クラスを設定する。- Parameters:
errorLogWriter
- エラーログライター
-
setResponseFinishers
レスポンスフィニッシャーを設定する。- Parameters:
responseFinishers
- レスポンスフィニッシャー
-