This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push: new cfb36a7 ISIS-2027: changes healthcheck to return http 500 if failed cfb36a7 is described below commit cfb36a75a245dc7ebd2b350c4587397e0b146dc3 Author: danhaywood <d...@haywood-associates.co.uk> AuthorDate: Wed Oct 31 08:13:46 2018 +0000 ISIS-2027: changes healthcheck to return http 500 if failed rather than a 200 with 'ok': false as was previously --- .../server/resources/HealthResourceServerside.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HealthResourceServerside.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HealthResourceServerside.java index fcc010d..82c80cc 100644 --- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HealthResourceServerside.java +++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HealthResourceServerside.java @@ -39,6 +39,7 @@ import org.apache.isis.viewer.restfulobjects.rendering.Caching; import org.apache.isis.viewer.restfulobjects.rendering.Responses; import org.apache.isis.viewer.restfulobjects.rendering.RestfulObjectsApplicationException; import org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationService; +import org.apache.isis.viewer.restfulobjects.rendering.util.JsonWriterUtil; /** * Implementation note: it seems to be necessary to annotate the implementation @@ -85,14 +86,23 @@ public class HealthResourceServerside extends ResourceAbstract implements Health init(RepresentationType.VERSION, Where.NOWHERE, RepresentationService.Intent.NOT_APPLICABLE); final HealthReprRenderer renderer = new HealthReprRenderer(getResourceContext(), null, JsonRepresentation.newMap()); + final Health health; if(healthService != null) { - final Health health = healthService.check(); + health = healthService.check(); renderer.with(health); + } else { + health = Health.ok(); } renderer.includesSelf(); + final Response.ResponseBuilder responseBuilder = health.getResult() + ? Responses.ofOk(renderer, Caching.NONE) + : Response.serverError() + .entity(JsonWriterUtil.jsonFor(renderer.render())) + .cacheControl(Caching.NONE.getCacheControl()); + final Response[] responseHolder = (Response[]) context; - responseHolder[0] = Responses.ofOk(renderer, Caching.ONE_DAY).build(); + responseHolder[0] = responseBuilder.build(); } @Inject