String key = getAcceptKey(future.getNettyRequest().getHttpRequest().headers().get(SEC_WEBSOCKET_KEY)); if (accept == null || !accept.equals(key)) { requestSender.abort(channel, future, new IOException("Invalid challenge. Actual: " + accept + ". Expected: " + key));
headers.set(UPGRADE, HttpHeaderValues.WEBSOCKET) .set(CONNECTION, HttpHeaderValues.UPGRADE) .set(SEC_WEBSOCKET_KEY, getWebSocketKey()) .set(SEC_WEBSOCKET_VERSION, "13");
.set(SEC_WEBSOCKET_KEY, getKey())// .set(SEC_WEBSOCKET_VERSION, "13");
public static String getKey() { byte[] nonce = createRandomBytes(16); return base64Encode(nonce); }
public static String getAcceptKey(String key) throws UnsupportedEncodingException { String acceptSeed = key + MAGIC_GUID; byte[] sha1 = sha1(acceptSeed.getBytes("US-ASCII")); return base64Encode(sha1); }
public static byte[] createRandomBytes(int size) { byte[] bytes = new byte[size]; for (int i = 0; i < size; i++) { bytes[i] = (byte) createRandomNumber(0, 255); } return bytes; }
.set(SEC_WEBSOCKET_KEY, getKey())// .set(SEC_WEBSOCKET_VERSION, "13");
String key = getAcceptKey(future.getNettyRequest().getHttpRequest().headers().get(HttpHeaders.Names.SEC_WEBSOCKET_KEY)); if (accept == null || !accept.equals(key)) { requestSender.abort(channel, future, new IOException(String.format("Invalid challenge. Actual: %s. Expected: %s", accept, key)));
.set(SEC_WEBSOCKET_KEY, getKey())// .set(SEC_WEBSOCKET_VERSION, "13");
String key = getAcceptKey(future.getNettyRequest().getHttpRequest().headers().get(HttpHeaders.Names.SEC_WEBSOCKET_KEY)); if (accept == null || !accept.equals(key)) { requestSender.abort(channel, future, new IOException(String.format("Invalid challenge. Actual: %s. Expected: %s", accept, key)));
.set(SEC_WEBSOCKET_KEY, getKey())// .set(SEC_WEBSOCKET_VERSION, "13");
String key = getAcceptKey(future.getNettyRequest().getHttpRequest().headers().get(HttpHeaders.Names.SEC_WEBSOCKET_KEY)); if (accept == null || !accept.equals(key)) { requestSender.abort(channel, future, new IOException(String.format("Invalid challenge. Actual: %s. Expected: %s", accept, key)));
String key = getAcceptKey(future.getNettyRequest().getHttpRequest().headers().get(HttpHeaders.Names.SEC_WEBSOCKET_KEY)); if (accept == null || !accept.equals(key)) { requestSender.abort(channel, future, new IOException(String.format("Invalid challenge. Actual: %s. Expected: %s", accept, key)));