Example usage for org.springframework.http.server ServletServerHttpResponse setStatusCode

List of usage examples for org.springframework.http.server ServletServerHttpResponse setStatusCode

Introduction

In this page you can find the example usage for org.springframework.http.server ServletServerHttpResponse setStatusCode.

Prototype

@Override
    public void setStatusCode(HttpStatus status) 

Source Link

Usage

From source file:com.nagarro.core.resolver.OAuth2ExceptionHandlerExceptionResolver.java

@Override
protected ModelAndView doResolveException(final HttpServletRequest request, final HttpServletResponse response,
        final Object handler, final Exception ex) {
    if (!OAuth2Exception.class.isAssignableFrom(ex.getClass())) {
        return null;
    }//www .  ja  v  a2s .  c o  m

    //TokenEndpoint exception handlers logic
    ResponseEntity<OAuth2Exception> responseEntity = null;
    final Exception exceptionToTranslate;
    if (ClientRegistrationException.class.isAssignableFrom(ex.getClass())) {
        exceptionToTranslate = new BadClientCredentialsException();
    } else {
        exceptionToTranslate = ex;
    }

    //Exception translation by WebResponseExceptionTranslator
    try {
        responseEntity = webResponseExceptionTranslator.translate(exceptionToTranslate);
    } catch (final Exception e) {
        logger.error("Translating of [" + exceptionToTranslate.getClass().getName() + "] resulted in Exception",
                e);
        return null;
    }

    final ServletServerHttpRequest inputMessage = new ServletServerHttpRequest(request);
    final ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(response);

    //get translated headers
    outputMessage.getHeaders().putAll(responseEntity.getHeaders());

    //set status
    outputMessage.setStatusCode(responseEntity.getStatusCode());

    final ErrorListWsDTO errorListDto = new ErrorListWsDTO();
    errorListDto.setErrors(getWebserviceErrorFactory().createErrorList(ex));

    try {
        return writeWithMessageConverters(errorListDto, inputMessage, outputMessage);
    } catch (final Exception handlerException) {
        logger.warn("Handling of [" + ex.getClass().getName() + "] resulted in Exception", handlerException);
    }
    return null;
}