use of org.graylog2.rest.TooManyRequestsStatus in project graylog2-server by Graylog2.
the class LoadBalancerStatusResource method status.
@GET
@Timed
@Produces(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Get status of this Graylog server node for load balancers. " + "Returns ALIVE with HTTP 200, DEAD with HTTP 503, or THROTTLED with HTTP 429.")
public Response status() {
final LoadBalancerStatus lbStatus = serverStatus.getLifecycle().getLoadbalancerStatus();
Response.StatusType status;
switch(lbStatus) {
case ALIVE:
status = Response.Status.OK;
break;
case THROTTLED:
status = new TooManyRequestsStatus();
break;
default:
status = Response.Status.SERVICE_UNAVAILABLE;
}
return Response.status(status).entity(lbStatus.toString().toUpperCase(Locale.ENGLISH)).build();
}
Aggregations