Package | Description |
---|---|
nablarch.common.web.exclusivecontrol |
画面処理における排他制御機能(楽観的ロック)を提供する。
|
nablarch.common.web.handler.threadcontext |
画面処理用のスレッドコンテキストに各種属性の設定を行うハンドラを提供する。
|
nablarch.common.web.token |
トークンを使用した二重サブミットの防止機能を提供する。
|
nablarch.fw.jaxrs |
NablarchのActionハンドラをJAX-RSのリソースクラスとして呼び出す事ができる機能を提供する。
|
nablarch.fw.jaxrs.cors | |
nablarch.fw.web |
画面オンライン処理方式の主要APIを収めたパッケージ。
|
nablarch.fw.web.handler |
画面オンライン処理方式向けフレームワーク標準ハンドラ。
|
nablarch.fw.web.handler.csrf |
CSRF対策に関連する機能を提供する。
|
nablarch.fw.web.handler.health | |
nablarch.fw.web.httpserver | |
nablarch.test.core.http |
Modifier and Type | Method and Description |
---|---|
static void |
HttpExclusiveControlUtil.checkVersion(HttpRequest request,
ExecutionContext context,
ExclusiveControlContext exclusiveControlContext)
引数で渡された排他制御コンテキストに格納されたPK値に対してバージョン番号をチェックする。
排他制御コンテキストに格納されたバージョン番号を使用して、バージョン番号が更新されていないかをチェックする。
どれか一つでもバージョン番号が更新されていた場合は、更新されているバージョン番号を設定した
OptimisticLockException を送出する。
全てのバージョン番号が更新されていない場合は、
次回リクエスト時にバージョン番号を送信するために、バージョン番号をリクエストスコープに設定する。
リクエストスコープに設定したバージョン番号は、n:formタグによりウィンドウスコープに設定される。 |
static void |
HttpExclusiveControlUtil.checkVersions(HttpRequest request,
ExecutionContext context)
バージョン番号をチェックする。
リクエストパラメータに含まれるバージョン番号を使用して、
バージョン番号が更新されていないかをチェックする。
どれか一つでもバージョン番号が更新されていた場合は、
更新されているバージョン番号を設定した
OptimisticLockException を送出する。
全てのバージョン番号が更新されていない場合は、
次回リクエスト時にバージョン番号を送信するために、バージョン番号をリクエストスコープに設定する。
リクエストスコープに設定したバージョン番号は、n:formタグによりウィンドウスコープに設定される。 |
static void |
HttpExclusiveControlUtil.checkVersions(HttpRequest request,
ExecutionContext context,
java.lang.String targetPkListParamName)
指定されたウィンドウスコープ変数上の配列に格納された各PK値に対して
バージョン番号をチェックする。
リクエストパラメータに含まれるバージョン番号を使用して、
バージョン番号が更新されていないかをチェックする。
どれか一つでもバージョン番号が更新されていた場合は、
更新されているバージョン番号を設定した
OptimisticLockException を送出する。
全てのバージョン番号が更新されていない場合は、
次回リクエスト時にバージョン番号を送信するために、バージョン番号をリクエストスコープに設定する。
リクエストスコープに設定したバージョン番号は、n:formタグによりウィンドウスコープに設定される。
なお、PKが組み合わせキーとなる場合はHttpExclusiveControlUtil.checkVersion(HttpRequest, ExecutionContext, ExclusiveControlContext)
を使用すること。 |
static void |
HttpExclusiveControlUtil.updateVersionsWithCheck(HttpRequest request)
バージョン番号の更新チェックとバージョン番号の更新を行う。
リクエストパラメータに含まれるバージョン番号を使用して、
バージョン番号が更新されていないかのチェックと更新を行う。
どれか一つでもバージョン番号が更新されていた場合は、
更新されているバージョン番号を設定した
OptimisticLockException を送出する。 |
static void |
HttpExclusiveControlUtil.updateVersionsWithCheck(HttpRequest request,
java.lang.String targetPkListParamName)
指定されたウィンドウスコープ変数上の配列に格納された各PK値に対して
バージョン番号の更新チェックとバージョン番号の更新を行う。
リクエストパラメータに含まれるバージョン番号を使用して、
バージョン番号が更新されていないかのチェックと更新を行う。
どれか一つでもバージョン番号が更新されていた場合は、
更新されているバージョン番号を設定した
OptimisticLockException を送出する。
なお、PKが組み合わせキーとなる場合は、HttpExclusiveControlUtil.updateVersionWithCheck(HttpRequest, ExclusiveControlContext)
を使用すること。 |
static void |
HttpExclusiveControlUtil.updateVersionWithCheck(HttpRequest request,
ExclusiveControlContext exclusiveControlContext)
引数で渡された排他制御コンテキストに格納されたPK値に対してバージョン番号のチェックとバージョン情報の更新を行う。
排他制御コンテキストに格納されたバージョン番号を使用して、バージョン番号が更新されていないかのチェックと更新を行う。
どれか一つでもバージョン番号が更新されていた場合は、更新されているバージョン番号を設定した
OptimisticLockException を送出する。
|
Modifier and Type | Method and Description |
---|---|
protected abstract java.lang.String |
LanguageAttributeInHttpSupport.getKeepingLanguage(HttpRequest req,
ServletExecutionContext ctx)
保持している言語を取得する。
|
protected java.lang.String |
LanguageAttributeInHttpSession.getKeepingLanguage(HttpRequest req,
ServletExecutionContext ctx) |
protected java.lang.String |
LanguageAttributeInHttpCookie.getKeepingLanguage(HttpRequest req,
ServletExecutionContext ctx) |
protected java.lang.String |
TimeZoneAttributeInHttpCookie.getKeepingTimeZone(HttpRequest req,
ServletExecutionContext ctx) |
protected abstract java.lang.String |
TimeZoneAttributeInHttpSupport.getKeepingTimeZone(HttpRequest req,
ServletExecutionContext ctx)
保持しているタイムゾーンを取得する。
|
protected java.lang.String |
TimeZoneAttributeInHttpSession.getKeepingTimeZone(HttpRequest req,
ServletExecutionContext ctx) |
protected java.util.Locale |
LanguageAttributeInHttpSupport.getLocale(HttpRequest req,
ServletExecutionContext ctx)
スレッドコンテキストに保持する言語属性を返す。
|
protected java.util.TimeZone |
TimeZoneAttributeInHttpSupport.getTimeZone(HttpRequest req,
ServletExecutionContext ctx)
スレッドコンテキストに保持するタイムゾーン属性を返す。
|
static void |
LanguageAttributeInHttpUtil.keepLanguage(HttpRequest request,
ExecutionContext context,
java.lang.String language)
指定された言語の保持と
ThreadContext への設定を行う。
指定された言語がサポート対象外である場合は処理を行わない。
サポート対象言語とは、HttpLanguageAttribute で設定された言語である。
言語の保持については、アプリケーションで使用するLanguageAttributeInHttpSupport のサブクラスのJavadocを参照。 |
protected abstract void |
LanguageAttributeInHttpSupport.keepLanguage(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String language)
ユーザが選択した言語を保持する。
|
protected void |
LanguageAttributeInHttpSession.keepLanguage(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String language) |
protected void |
LanguageAttributeInHttpCookie.keepLanguage(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String language) |
static void |
TimeZoneAttributeInHttpUtil.keepTimeZone(HttpRequest request,
ExecutionContext context,
java.lang.String timeZone)
指定されたタイムゾーンの保持とスレッドローカルへの設定を行う。
指定されたタイムゾーンがサポート対象のタイムゾーンでない場合は処理を行わない。
サポート対象は、
SystemRepository から取得したTimeZoneAttributeInHttpSupport で
サポートされているタイムゾーンとなる。
タイムゾーンの保持については、アプリケーションで使用する
TimeZoneAttributeInHttpSupport のサブクラスのJavadocを参照。 |
protected void |
TimeZoneAttributeInHttpCookie.keepTimeZone(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String timeZone) |
protected abstract void |
TimeZoneAttributeInHttpSupport.keepTimeZone(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String timeZone)
ユーザが選択したタイムゾーンを保持する。
|
protected void |
TimeZoneAttributeInHttpSession.keepTimeZone(HttpRequest req,
ServletExecutionContext ctx,
java.lang.String timeZone) |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
DoubleSubmissionHandler.handle(HttpRequest request,
ExecutionContext context,
Handler<HttpRequest,HttpResponse> httpRequestHandler,
OnDoubleSubmission annotation)
OnDoubleSubmissionアノテーションに対する処理を行う。
|
static boolean |
TokenUtil.isValidToken(HttpRequest request,
ExecutionContext context)
リクエストパラメータのトークンが有効であるかを判定する。
(注意)
本メソッドはVM単位での同期となる。
ただし、処理内容は軽微かつブロックするような箇所もないので、ボトルネックとなることは無い。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
DoubleSubmissionHandler.handle(HttpRequest request,
ExecutionContext context,
Handler<HttpRequest,HttpResponse> httpRequestHandler,
OnDoubleSubmission annotation)
OnDoubleSubmissionアノテーションに対する処理を行う。
|
Modifier and Type | Class and Description |
---|---|
class |
JaxRsHttpRequest
JAX-RS用の
HttpRequest クラス。
JaxRsHttpRequest.getParamMap() 、JaxRsHttpRequest.getParam(String) を公開APIとし、それ以外のメソッドは保持するHttpRequestに委譲している。 |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
ErrorResponseBuilder.build(HttpRequest request,
ExecutionContext context,
java.lang.Throwable throwable)
|
protected abstract java.lang.Object |
BodyConverterSupport.convertRequest(HttpRequest request,
ExecutionContext context)
リクエストを変換する。
|
protected java.lang.Object |
JaxbBodyConverter.convertRequest(HttpRequest request,
ExecutionContext context) |
void |
ResponseFinisher.finish(HttpRequest request,
HttpResponse response,
ExecutionContext context)
レスポンスを仕上げる。
|
boolean |
MessageBodyLogTargetMatcher.isTargetRequest(HttpRequest request,
ExecutionContext context)
ログ出力対象のリクエストボディであるか判定する。
|
boolean |
MessageBodyLogTargetMatcher.isTargetResponse(HttpRequest request,
HttpResponse response,
ExecutionContext context)
ログ出力対象のレスポンスボディであるか判定する。
|
java.lang.Object |
BodyConverterSupport.read(HttpRequest request,
ExecutionContext executionContext) |
void |
JaxRsErrorLogWriter.write(HttpRequest request,
HttpResponse response,
ExecutionContext context,
java.lang.Throwable throwable)
エラー情報をログに出力する。
|
protected void |
JaxRsErrorLogWriter.writeApplicationExceptionLog(HttpRequest request,
HttpResponse response,
ExecutionContext context,
ApplicationException exception)
ApplicationException の情報をログ出力する。
デフォルト実装では何も出力しない。 |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
Cors.createPreflightResponse(HttpRequest request,
ExecutionContext context)
プリフライトリクエストに対するレスポンスを作成する。
|
boolean |
Cors.isPreflightRequest(HttpRequest request,
ExecutionContext context)
リクエストがプリフライトリクエストであるか否かを判定する。
|
void |
Cors.postProcess(HttpRequest request,
HttpResponse response,
ExecutionContext context)
プリフライトリクエスト後の実際のリクエストのレスポンスに対する処理を行う。
|
Modifier and Type | Class and Description |
---|---|
class |
nablarch.fw.web.MockHttpRequest |
class |
RestMockHttpRequest
RESTfulウェブサービステスト用の
HttpRequest モッククラス。 |
Modifier and Type | Method and Description |
---|---|
abstract HttpRequest |
HttpRequest.setParam(java.lang.String name,
java.lang.String... params)
リクエストパラメータを設定する。
|
abstract HttpRequest |
HttpRequest.setParamMap(java.util.Map<java.lang.String[]> params)
リクエストパラメータを設定する。
|
HttpRequest |
HttpRequest.setRequestPath(java.lang.String requestPath)
リクエストパスを設定する。
この実装では、リクエストURI中のリクエストパスを書き換える。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
HttpResponse.Status.handle(HttpRequest req,
ExecutionContext ctx)
入力データに対する処理を実行する。
このクラスの実装では、以下のHTTPレスポンスメッセージに相当する
HttpResponse オブジェクトを返す。 |
HttpResponse |
HttpRequestHandler.handle(HttpRequest request,
ExecutionContext context)
HTTPリクエストに対する処理を実行する。
|
Modifier and Type | Method and Description |
---|---|
nablarch.fw.MethodBinder<HttpRequest,T> |
MethodBinderFactory.create(java.lang.String methodName)
MethodBinder を生成する。 |
Modifier and Type | Method and Description |
---|---|
void |
HttpRequestRewriteRule.applyRewrittenPath(java.lang.String rewrittenPath,
HttpRequest request) |
protected void |
HttpRequestRewriteRule.exportParam(java.lang.String scope,
java.lang.String name,
java.lang.String value,
HttpRequest req,
ExecutionContext context) |
protected java.lang.Object |
HttpRequestRewriteRule.getParam(java.lang.String type,
java.lang.String name,
HttpRequest request,
ExecutionContext context) |
java.lang.String |
HttpRequestRewriteRule.getPathToRewrite(HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
VerificationFailureHandler.handle(HttpRequest request,
ExecutionContext context,
java.lang.String userSentToken,
java.lang.String sessionAssociatedToken)
CSRFトークンの検証失敗時の処理を行う。
|
boolean |
VerificationTargetMatcher.match(HttpRequest request)
HTTPリクエストがCSRFトークンの検証対象となるか判定を行う。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
HealthCheckResponseBuilder.build(HttpRequest request,
ExecutionContext context,
HealthCheckResult result)
ヘルスチェック結果からレスポンスを作成する。
デフォルトではJSONのレスポンスを作成する。
ヘルスチェックが成功した場合
{"status":"UP","targets":[{"name":"DB","status":"UP"},{"name":"Redis","status":"UP"}]}
ヘルスチェックが失敗した場合
{"status":"DOWN","targets":[{"name":"DB","status":"UP"},{"name":"Redis","status":"DOWN"}]}
|
protected java.lang.String |
HealthCheckResponseBuilder.buildResponseBody(HttpRequest request,
ExecutionContext context,
HealthCheckResult result)
レスポンスボディを作成する。
|
boolean |
HealthChecker.check(HttpRequest request,
ExecutionContext context)
ヘルスチェックを行う。
HealthChecker.tryOut(HttpRequest, ExecutionContext) を呼び出し、その結果を返す。
HealthChecker.tryOut(HttpRequest, ExecutionContext) で例外が発生した場合はfalseを返す。 |
protected abstract boolean |
HealthChecker.tryOut(HttpRequest request,
ExecutionContext context)
ヘルシーと判断できる処理を試す。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
HttpServerJetty6.handle(HttpRequest req,
ExecutionContext unused)
HTTPリクエストに対する処理を実行する。
|
HttpResponse |
HttpServerJetty9.handle(HttpRequest req,
ExecutionContext sourceContext)
HTTPリクエストに対する処理を実行する。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
SimpleRestTestSupport.sendRequest(HttpRequest request)
テストリクエストを内蔵サーバに渡しレスポンスを返す。
|
HttpResponse |
SimpleRestTestSupport.sendRequest(HttpRequest request,
nablarch.test.core.http.RequestResponseProcessor processor)
テストリクエストを内蔵サーバに渡しレスポンスを返す。
|
HttpResponse |
SimpleRestTestSupport.sendRequestWithContext(HttpRequest request,
ExecutionContext context)
ExecutionContext を設定しテストリクエストを内蔵サーバに渡しレスポンスを返す。
ExecutionContext の設定はHttpRequestTestSupportHandler を利用する。 |
HttpResponse |
SimpleRestTestSupport.sendRequestWithContext(HttpRequest request,
ExecutionContext context,
nablarch.test.core.http.RequestResponseProcessor processor)
ExecutionContext を設定しテストリクエストを内蔵サーバに渡しレスポンスを返す。
ExecutionContext の設定はHttpRequestTestSupportHandler を利用する。 |