[aerogear-dev] Status code for /health endpoint ?

Ron Šmeral rsmeral at redhat.com
Thu Jul 7 07:50:32 EDT 2016


Hi,

the health endpoint is an HTTP server.
Regardless of what information the endpoint provides, HTTP status codes should reflect the state of the server itself.
A 500 error would mean that the health endpoint itself is unhealthy.

My 2c.

Ron

On 7.7.2016 13:26, Matthias Wessendorf wrote:
> Hi,
>
> we have a /health endpoint:
> https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/util/HealthCheck.java#L54-L69
>
> that gives indication if the DB and the supported push-networks are reachable.
>
> If all goes well, it returns '200' and a response like:
> {"status":"ok","details":[{"description":"Database connection","result":"connected","runtime":191,"test_status":"ok"},{"description":"Google Cloud Messaging","result":"online","runtime":143,"test_status":"ok"},{"description":"Apple Push Network Sandbox","result":"online","runtime":260,"test_status":"ok"},{"description":"Apple Push Network Production","result":"online","runtime":263,"test_status":"ok"},{"description":"Windows Push Network","result":"online","runtime":351,"test_status":"ok"}],"summary":"Everything is ok"}
>
>
>
> If something, like DB, is not reachable, it also returns '200', and describes the problems in the JSON response:
> {"status":"crit","details":[{"description":"Database connection","result":"org.hibernate.exception.JDBCConnectionException: could not extract ResultSet","runtime":26,"test_status":"crit"},{"description":"Google Cloud Messaging","result":"online","runtime":14,"test_status":"ok"},{"description":"Apple Push Network Sandbox","result":"online","runtime":32,"test_status":"ok"},{"description":"Apple Push Network Production","result":"online","runtime":211,"test_status":"ok"},{"description":"Windows Push Network","result":"online","runtime":149,"test_status":"ok"}],"summary":"There is 1 error found"}
>
>
> Questions:
> * do we continue to return '200' in the later case?
> * Or should we give a 500 if there is at least one problem ? 
>
> Please report your desire :-)
>
>
> -Matthias
>
> -- 
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> twitter: http://twitter.com/mwessendorf
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev

-- 
Ron Smeral
Technical Writer, RHMAP
Brno

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20160707/7bd112d7/attachment.html 


More information about the aerogear-dev mailing list