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

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

Introduction

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

Prototype

void setStatusCode(HttpStatus status);

Source Link

Document

Set the HTTP status code of the response.

Usage

From source file:com.searchbox.framework.web.admin.SearchElementDefinitionController.java

@RequestMapping(method = RequestMethod.POST)
public ModelAndView update(@Valid SearchElementEntity elementDefinition, BindingResult bindingResult,
        HttpServletRequest httpServletRequest, ServerHttpResponse response) {
    LOGGER.info("Creating an filed element: " + elementDefinition.getClazz().getSimpleName() + " for preset: "
            + elementDefinition.getPreset().getSlug());

    ModelAndView model = new ModelAndView("admin/SearchElementDefinition/updateForm");

    if (bindingResult.hasErrors()) {
        LOGGER.error("Bindding has error...");
        for (ObjectError error : bindingResult.getAllErrors()) {
            LOGGER.error("Error: " + error.getDefaultMessage());
        }/*from   w  w  w .  j a v a 2s  .  c o  m*/
        response.setStatusCode(HttpStatus.PRECONDITION_FAILED);
        return model;
    }
    try {
        elementDefinition = repository.save(elementDefinition);
    } catch (Exception e) {
        LOGGER.error("Could not save elementDefinition", e);
    }
    model.addObject("searchElementDefinition", elementDefinition);
    return model;
}

From source file:org.springframework.boot.devtools.restart.server.HttpRestartServer.java

/**
 * Handle a server request.//from  w  w w .  j ava 2  s  .c o  m
 * @param request the request
 * @param response the response
 * @throws IOException in case of I/O errors
 */
public void handle(ServerHttpRequest request, ServerHttpResponse response) throws IOException {
    try {
        Assert.state(request.getHeaders().getContentLength() > 0, "No content");
        ObjectInputStream objectInputStream = new ObjectInputStream(request.getBody());
        ClassLoaderFiles files = (ClassLoaderFiles) objectInputStream.readObject();
        objectInputStream.close();
        this.server.updateAndRestart(files);
        response.setStatusCode(HttpStatus.OK);
    } catch (Exception ex) {
        logger.warn("Unable to handler restart server HTTP request", ex);
        response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR);
    }
}

From source file:org.springframework.web.cors.DefaultCorsProcessor.java

/**
 * Invoked when one of the CORS checks failed.
 * The default implementation sets the response status to 403 and writes
 * "Invalid CORS request" to the response.
 *///from   www  .  ja  v a  2  s. c o m
protected void rejectRequest(ServerHttpResponse response) throws IOException {
    response.setStatusCode(HttpStatus.FORBIDDEN);
    response.getBody().write("Invalid CORS request".getBytes(StandardCharsets.UTF_8));
}

From source file:org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler.java

@Override
public void handleReturnValue(Object returnValue, MethodParameter returnType,
        ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception {

    if (returnValue == null) {
        mavContainer.setRequestHandled(true);
        return;/*www  . ja v  a  2 s . c o m*/
    }

    HttpServletResponse response = webRequest.getNativeResponse(HttpServletResponse.class);
    ServerHttpResponse outputMessage = new ServletServerHttpResponse(response);

    if (ResponseEntity.class.isAssignableFrom(returnValue.getClass())) {
        ResponseEntity<?> responseEntity = (ResponseEntity<?>) returnValue;
        outputMessage.setStatusCode(responseEntity.getStatusCode());
        outputMessage.getHeaders().putAll(responseEntity.getHeaders());

        returnValue = responseEntity.getBody();
        if (returnValue == null) {
            mavContainer.setRequestHandled(true);
            return;
        }
    }

    Assert.isInstanceOf(StreamingResponseBody.class, returnValue);
    StreamingResponseBody streamingBody = (StreamingResponseBody) returnValue;

    Callable<Void> callable = new StreamingResponseBodyTask(outputMessage.getBody(), streamingBody);
    WebAsyncUtils.getAsyncManager(webRequest).startCallableProcessing(callable, mavContainer);
}

From source file:org.springframework.web.socket.server.DefaultHandshakeHandler.java

@Override
public final boolean doHandshake(ServerHttpRequest request, ServerHttpResponse response,
        WebSocketHandler webSocketHandler) throws IOException, HandshakeFailureException {

    logger.debug("Starting handshake for " + request.getURI());

    if (!HttpMethod.GET.equals(request.getMethod())) {
        response.setStatusCode(HttpStatus.METHOD_NOT_ALLOWED);
        response.getHeaders().setAllow(Collections.singleton(HttpMethod.GET));
        logger.debug("Only HTTP GET is allowed, current method is " + request.getMethod());
        return false;
    }/*from   w  w  w. ja  v  a 2 s . c o m*/
    if (!"WebSocket".equalsIgnoreCase(request.getHeaders().getUpgrade())) {
        handleInvalidUpgradeHeader(request, response);
        return false;
    }
    if (!request.getHeaders().getConnection().contains("Upgrade")
            && !request.getHeaders().getConnection().contains("upgrade")) {
        handleInvalidConnectHeader(request, response);
        return false;
    }
    if (!isWebSocketVersionSupported(request)) {
        handleWebSocketVersionNotSupported(request, response);
        return false;
    }
    if (!isValidOrigin(request)) {
        response.setStatusCode(HttpStatus.FORBIDDEN);
        return false;
    }
    String wsKey = request.getHeaders().getSecWebSocketKey();
    if (wsKey == null) {
        logger.debug("Missing \"Sec-WebSocket-Key\" header");
        response.setStatusCode(HttpStatus.BAD_REQUEST);
        return false;
    }

    String selectedProtocol = selectProtocol(request.getHeaders().getSecWebSocketProtocol());
    // TODO: select extensions

    logger.debug("Upgrading HTTP request");

    response.setStatusCode(HttpStatus.SWITCHING_PROTOCOLS);
    response.getHeaders().setUpgrade("WebSocket");
    response.getHeaders().setConnection("Upgrade");
    response.getHeaders().setSecWebSocketProtocol(selectedProtocol);
    response.getHeaders().setSecWebSocketAccept(getWebSocketKeyHash(wsKey));
    // TODO: response.getHeaders().setSecWebSocketExtensions(extensions);

    response.flush();

    if (logger.isTraceEnabled()) {
        logger.trace("Upgrading with " + webSocketHandler);
    }

    this.requestUpgradeStrategy.upgrade(request, response, selectedProtocol, webSocketHandler);

    return true;
}

From source file:org.springframework.web.socket.server.DefaultHandshakeHandler.java

protected void handleInvalidUpgradeHeader(ServerHttpRequest request, ServerHttpResponse response)
        throws IOException {
    logger.debug("Invalid Upgrade header " + request.getHeaders().getUpgrade());
    response.setStatusCode(HttpStatus.BAD_REQUEST);
    response.getBody().write("Can \"Upgrade\" only to \"WebSocket\".".getBytes("UTF-8"));
}

From source file:org.springframework.web.socket.server.DefaultHandshakeHandler.java

protected void handleInvalidConnectHeader(ServerHttpRequest request, ServerHttpResponse response)
        throws IOException {
    logger.debug("Invalid Connection header " + request.getHeaders().getConnection());
    response.setStatusCode(HttpStatus.BAD_REQUEST);
    response.getBody().write("\"Connection\" must be \"upgrade\".".getBytes("UTF-8"));
}

From source file:org.springframework.web.socket.server.DefaultHandshakeHandler.java

protected void handleWebSocketVersionNotSupported(ServerHttpRequest request, ServerHttpResponse response) {
    logger.debug("WebSocket version not supported " + request.getHeaders().get("Sec-WebSocket-Version"));
    response.setStatusCode(HttpStatus.UPGRADE_REQUIRED);
    response.getHeaders()//from   w w w .  ja  va2s.  c om
            .setSecWebSocketVersion(StringUtils.arrayToCommaDelimitedString(getSupportedVerions()));
}

From source file:org.springframework.web.socket.server.support.AbstractHandshakeHandler.java

@Override
public final boolean doHandshake(ServerHttpRequest request, ServerHttpResponse response,
        WebSocketHandler wsHandler, Map<String, Object> attributes) throws HandshakeFailureException {

    WebSocketHttpHeaders headers = new WebSocketHttpHeaders(request.getHeaders());
    if (logger.isTraceEnabled()) {
        logger.trace("Processing request " + request.getURI() + " with headers=" + headers);
    }//www  .java2 s . com
    try {
        if (HttpMethod.GET != request.getMethod()) {
            response.setStatusCode(HttpStatus.METHOD_NOT_ALLOWED);
            response.getHeaders().setAllow(Collections.singleton(HttpMethod.GET));
            if (logger.isErrorEnabled()) {
                logger.error("Handshake failed due to unexpected HTTP method: " + request.getMethod());
            }
            return false;
        }
        if (!"WebSocket".equalsIgnoreCase(headers.getUpgrade())) {
            handleInvalidUpgradeHeader(request, response);
            return false;
        }
        if (!headers.getConnection().contains("Upgrade") && !headers.getConnection().contains("upgrade")) {
            handleInvalidConnectHeader(request, response);
            return false;
        }
        if (!isWebSocketVersionSupported(headers)) {
            handleWebSocketVersionNotSupported(request, response);
            return false;
        }
        if (!isValidOrigin(request)) {
            response.setStatusCode(HttpStatus.FORBIDDEN);
            return false;
        }
        String wsKey = headers.getSecWebSocketKey();
        if (wsKey == null) {
            if (logger.isErrorEnabled()) {
                logger.error("Missing \"Sec-WebSocket-Key\" header");
            }
            response.setStatusCode(HttpStatus.BAD_REQUEST);
            return false;
        }
    } catch (IOException ex) {
        throw new HandshakeFailureException(
                "Response update failed during upgrade to WebSocket: " + request.getURI(), ex);
    }

    String subProtocol = selectProtocol(headers.getSecWebSocketProtocol(), wsHandler);
    List<WebSocketExtension> requested = headers.getSecWebSocketExtensions();
    List<WebSocketExtension> supported = this.requestUpgradeStrategy.getSupportedExtensions(request);
    List<WebSocketExtension> extensions = filterRequestedExtensions(request, requested, supported);
    Principal user = determineUser(request, wsHandler, attributes);

    if (logger.isTraceEnabled()) {
        logger.trace("Upgrading to WebSocket, subProtocol=" + subProtocol + ", extensions=" + extensions);
    }
    this.requestUpgradeStrategy.upgrade(request, response, subProtocol, extensions, user, wsHandler,
            attributes);
    return true;
}

From source file:org.springframework.web.socket.server.support.AbstractHandshakeHandler.java

protected void handleInvalidUpgradeHeader(ServerHttpRequest request, ServerHttpResponse response)
        throws IOException {
    if (logger.isErrorEnabled()) {
        logger.error("Handshake failed due to invalid Upgrade header: " + request.getHeaders().getUpgrade());
    }//  w ww .ja v a 2s  .co  m
    response.setStatusCode(HttpStatus.BAD_REQUEST);
    response.getBody().write("Can \"Upgrade\" only to \"WebSocket\".".getBytes(StandardCharsets.UTF_8));
}