diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-04-12 17:21:36 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-04-12 20:57:24 +0200 |
commit | 01892669e2becfc0999e75332394f8496583c425 (patch) | |
tree | bdb1cbfe63a4a4c9f39b3f547710fbff943ad2f6 | |
parent | 8d6a61325452ffb1d40a518f075752b9c5d81e5c (diff) |
Expose RestApi and ObjectMapper to handler implementation
3 files changed, 4 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApi.java b/container-core/src/main/java/com/yahoo/restapi/RestApi.java index df05723ac14..6f5bf298de3 100644 --- a/container-core/src/main/java/com/yahoo/restapi/RestApi.java +++ b/container-core/src/main/java/com/yahoo/restapi/RestApi.java @@ -22,6 +22,7 @@ public interface RestApi { static RouteBuilder route(String pathPattern) { return new RestApiImpl.RouteBuilderImpl(pathPattern); } HttpResponse handleRequest(HttpRequest request); + ObjectMapper jacksonJsonMapper(); interface Builder { Builder setObjectMapper(ObjectMapper mapper); diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java index e6c6d7ccb62..0a31151921d 100644 --- a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java +++ b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java @@ -70,6 +70,8 @@ class RestApiImpl implements RestApi { } } + @Override public ObjectMapper jacksonJsonMapper() { return jacksonJsonMapper; } + private HttpResponse dispatchToRoute(Route route, RequestContextImpl context) { HandlerHolder<?> resolvedHandler = resolveHandler(context, route); RequestMapperHolder<?> resolvedRequestMapper = resolveRequestMapper(resolvedHandler); diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiRequestHandler.java b/container-core/src/main/java/com/yahoo/restapi/RestApiRequestHandler.java index 9fe813903dd..5640bbc5445 100644 --- a/container-core/src/main/java/com/yahoo/restapi/RestApiRequestHandler.java +++ b/container-core/src/main/java/com/yahoo/restapi/RestApiRequestHandler.java @@ -32,5 +32,5 @@ public abstract class RestApiRequestHandler<T extends RestApiRequestHandler<T>> @Override public final HttpResponse handle(HttpRequest request) { return restApi.handleRequest(request); } - protected RestApi restApi() { return restApi; } + public RestApi restApi() { return restApi; } } |