You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/10/31 08:14:03 UTC
[isis] branch master updated: ISIS-2027: changes healthcheck to
return http 500 if failed
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 <da...@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