response.setHeader("Upgrade","WebSocket"); response.addHeader("Connection","Upgrade"); response.addHeader("Sec-WebSocket-Accept",AcceptHash.hashKey(key)); if (response.getAcceptedSubProtocol() != null) response.addHeader("Sec-WebSocket-Protocol",response.getAcceptedSubProtocol()); if (response.getExtensions() != null) for (ExtensionConfig ext : response.getExtensions()) response.addHeader("Sec-WebSocket-Extensions",ext.getParameterizedName()); response.setStatus(HttpServletResponse.SC_SWITCHING_PROTOCOLS);
@Override public void sendForbidden(String message) throws IOException { setSuccess(false); resp.sendError(HttpServletResponse.SC_FORBIDDEN,message); }
response.setHeader("Sec-WebSocket-Version",supportedVersions); response.sendError(HttpStatus.BAD_REQUEST_400,"Unsupported websocket version specification"); return false; session.setPolicy(getPolicy().clonePolicy()); session.setUpgradeRequest(request); response.setExtensions(extensionStack.getNegotiatedExtensions()); session.setUpgradeResponse(response); connection.setSession(session); handshaker.doHandshakeResponse(request,response); LOG.debug("Websocket upgrade {} {} {} {}",request.getRequestURI(),version,response.getAcceptedSubProtocol(),connection); return true;
@Override public boolean acceptWebSocket(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletWebSocketRequest sockreq = new ServletWebSocketRequest(request); ServletWebSocketResponse sockresp = new ServletWebSocketResponse(response); WebSocketCreator creator = getCreator(); UpgradeContext context = getActiveUpgradeContext(); if (context == null) { context = new UpgradeContext(); setActiveUpgradeContext(context); } context.setRequest(sockreq); context.setResponse(sockresp); Object websocketPojo = creator.createWebSocket(sockreq,sockresp); // Handle response forbidden (and similar paths) if (sockresp.isCommitted()) { return false; } if (websocketPojo == null) { // no creation, sorry response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); return false; } // Send the upgrade EventDriver driver = eventDriverFactory.wrap(websocketPojo); return upgrade(sockreq,sockresp,driver); }
response.setHeader("Sec-WebSocket-Version",supportedVersions); response.sendError(HttpStatus.BAD_REQUEST_400,"Unsupported websocket version specification"); return false; session.setPolicy(getPolicy().clonePolicy()); session.setUpgradeRequest(request); response.setExtensions(extensionStack.getNegotiatedExtensions()); session.setUpgradeResponse(response); connection.setSession(session); handshaker.doHandshakeResponse(request,response); LOG.debug("Websocket upgrade {} {} {} {}",request.getRequestURI(),version,response.getAcceptedSubProtocol(),connection); return true;
@Override public boolean acceptWebSocket(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletWebSocketRequest sockreq = new ServletWebSocketRequest(request); ServletWebSocketResponse sockresp = new ServletWebSocketResponse(response); WebSocketCreator creator = getCreator(); UpgradeContext context = getActiveUpgradeContext(); if (context == null) { context = new UpgradeContext(); setActiveUpgradeContext(context); } context.setRequest(sockreq); context.setResponse(sockresp); Object websocketPojo = creator.createWebSocket(sockreq,sockresp); // Handle response forbidden (and similar paths) if (sockresp.isCommitted()) { return false; } if (websocketPojo == null) { // no creation, sorry response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); return false; } // Send the upgrade EventDriver driver = eventDriverFactory.wrap(websocketPojo); return upgrade(sockreq,sockresp,driver); }
response.setHeader("Upgrade","WebSocket"); response.addHeader("Connection","Upgrade"); response.addHeader("Sec-WebSocket-Accept",AcceptHash.hashKey(key)); if (response.getAcceptedSubProtocol() != null) response.addHeader("Sec-WebSocket-Protocol",response.getAcceptedSubProtocol()); if (response.getExtensions() != null) for (ExtensionConfig ext : response.getExtensions()) response.addHeader("Sec-WebSocket-Extensions",ext.getParameterizedName()); response.setStatus(HttpServletResponse.SC_SWITCHING_PROTOCOLS);
public void sendError(int statusCode, String message) throws IOException { setSuccess(false); this.resp.sendError(statusCode,message); }
@Override public void sendForbidden(String message) throws IOException { setSuccess(false); resp.sendError(HttpServletResponse.SC_FORBIDDEN,message); }
public void sendError(int statusCode, String message) throws IOException { setSuccess(false); this.resp.sendError(statusCode,message); }