@Override public void handle(Request request, Response response) { throw new ServerException(HTTP_GONE, String.format("The web service '%s' doesn't exist anymore, please read its documentation to use alternatives", request.getPath())); }
@Test public void throw_server_exception() throws Exception { Request request = mock(Request.class); when(request.getPath()).thenReturn("/api/resources/index"); try { RemovedWebServiceHandler.INSTANCE.handle(request, null); fail(); } catch (ServerException e) { assertThat(e.getMessage()).isEqualTo("The web service '/api/resources/index' doesn't exist anymore, please read its documentation to use alternatives"); assertThat(e.httpCode()).isEqualTo(410); } } }
public void execute(Request request, Response response) { try { ActionExtractor actionExtractor = new ActionExtractor(request.getPath()); WebService.Action action = getAction(actionExtractor); checkFound(action, "Unknown url : %s", request.getPath()); if (request instanceof ValidatingRequest) { ((ValidatingRequest) request).setAction(action); ((ValidatingRequest) request).setLocalConnector(this); } checkActionExtension(actionExtractor.getExtension()); verifyRequest(action, request); action.handler().handle(request, response); } catch (IllegalArgumentException e) { sendErrors(request, response, e, 400, singletonList(e.getMessage())); } catch (BadRequestException e) { sendErrors(request, response, e, 400, e.errors()); } catch (ServerException e) { sendErrors(request, response, e, e.httpCode(), singletonList(e.getMessage())); } catch (Exception e) { sendErrors(request, response, e, 500, singletonList("An error has occurred. Please contact your administrator")); } }
@Override public void handle(Request request, Response response) { throw new ServerException(HTTP_GONE, String.format("The web service '%s' doesn't exist anymore, please read its documentation to use alternatives", request.getPath())); }
public void execute(Request request, Response response) { try { ActionExtractor actionExtractor = new ActionExtractor(request.getPath()); WebService.Action action = getAction(actionExtractor); checkFound(action, "Unknown url : %s", request.getPath()); if (request instanceof ValidatingRequest) { ((ValidatingRequest) request).setAction(action); ((ValidatingRequest) request).setLocalConnector(this); } checkActionExtension(actionExtractor.getExtension()); verifyRequest(action, request); action.handler().handle(request, response); } catch (IllegalArgumentException e) { sendErrors(request, response, e, 400, singletonList(e.getMessage())); } catch (BadRequestException e) { sendErrors(request, response, e, 400, e.errors()); } catch (ServerException e) { sendErrors(request, response, e, e.httpCode(), singletonList(e.getMessage())); } catch (Exception e) { sendErrors(request, response, e, 500, singletonList("An error has occurred. Please contact your administrator")); } }