Skip to content

Commit

Permalink
[HWKMETRICS-185] Return proper JSON for errors from tenant filter.
Browse files Browse the repository at this point in the history
  • Loading branch information
Stefan Negrea committed Aug 13, 2015
1 parent 27467d3 commit f781ef6
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;

import java.io.IOException;
import java.io.PrintWriter;

import javax.inject.Inject;
import javax.servlet.Filter;
Expand Down Expand Up @@ -76,23 +75,20 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
final HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setStatus(Status.SERVICE_UNAVAILABLE.getStatusCode());
httpResponse.setContentType(APPLICATION_JSON_TYPE.toString());
PrintWriter out = response.getWriter();
mapper.writeValue(out, new ApiError(STARTING));
mapper.writeValue(response.getWriter(), new ApiError(STARTING));
return;
} else if (metricsServiceLifecycle.getState() == State.FAILED) {
final HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setStatus(Status.INTERNAL_SERVER_ERROR.getStatusCode());
httpResponse.setContentType(APPLICATION_JSON_TYPE.toString());
PrintWriter out = response.getWriter();
mapper.writeValue(out, new ApiError(FAILED));
mapper.writeValue(response.getWriter(), new ApiError(FAILED));
return;
} else if (metricsServiceLifecycle.getState() == State.STOPPED
|| metricsServiceLifecycle.getState() == State.STOPPING) {
final HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setStatus(Status.SERVICE_UNAVAILABLE.getStatusCode());
httpResponse.setContentType(APPLICATION_JSON_TYPE.toString());
PrintWriter out = response.getWriter();
mapper.writeValue(out, new ApiError(STOPPED));
mapper.writeValue(response.getWriter(), new ApiError(STOPPED));
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
Expand All @@ -35,6 +34,8 @@
import org.hawkular.metrics.api.jaxrs.handler.BaseHandler;
import org.hawkular.metrics.api.jaxrs.handler.StatusHandler;

import com.fasterxml.jackson.databind.ObjectMapper;

/**
* @author Stefan Negrea
*/
Expand Down Expand Up @@ -71,11 +72,11 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
}

// Fail on missing tenant info
ObjectMapper mapper = new ObjectMapper();
final HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setStatus(Status.BAD_REQUEST.getStatusCode());
httpResponse.setContentType(APPLICATION_JSON_TYPE.toString());
PrintWriter out = response.getWriter();
out.println(new ApiError(MISSING_TENANT_MSG).toString());
mapper.writeValue(response.getWriter(), new ApiError(MISSING_TENANT_MSG));
}

@Override
Expand Down

0 comments on commit f781ef6

Please sign in to comment.