Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Unified Diff: plugins/org.chromium.sdk.wipbackend.wk118685/src/org/chromium/sdk/internal/websocket/HandshakeUtil.java

Issue 11829027: drop old backends (Closed) Base URL: https://chromedevtools.googlecode.com/svn/trunk
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: plugins/org.chromium.sdk.wipbackend.wk118685/src/org/chromium/sdk/internal/websocket/HandshakeUtil.java
diff --git a/plugins/org.chromium.sdk.wipbackend.wk118685/src/org/chromium/sdk/internal/websocket/HandshakeUtil.java b/plugins/org.chromium.sdk.wipbackend.wk118685/src/org/chromium/sdk/internal/websocket/HandshakeUtil.java
deleted file mode 100644
index 8cb874cbe25eeaf9a576bfc31a9f795d7112d4a5..0000000000000000000000000000000000000000
--- a/plugins/org.chromium.sdk.wipbackend.wk118685/src/org/chromium/sdk/internal/websocket/HandshakeUtil.java
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.sdk.internal.websocket;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.InetSocketAddress;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Methods, classes and constants used in all WebSocket handshake procedures.
- */
-public class HandshakeUtil {
- public static final Charset UTF_8_CHARSET = Charset.forName("UTF-8");
- public static final Charset ASCII_CHARSET = Charset.forName("ASCII");
-
- static ArrayList<String> createHttpFields(InetSocketAddress endpoint) {
- ArrayList<String> fields = new ArrayList<String>();
- fields.add("Connection: Upgrade");
- return fields;
- }
-
- static void checkOriginString(String origin) {
- for (int i = 0; i < origin.length(); i++) {
- char ch = origin.charAt(i);
- if (ch >= 'A' && ch <= 'Z') {
- throw new IllegalArgumentException();
- }
- }
- }
-
- public interface HttpResponse {
- int getCode();
- Map<String, String> getFields();
- String getReasonPhrase();
- }
-
- public static HttpResponse readHttpResponse(LineReader input) throws IOException {
- final int code;
- final String reasonPhrase;
- // First line.
- {
- byte[] firstLine = input.readUpTo0x0D0A();
- if (firstLine.length < 7 - 2) {
- throw new IOException("Malformed response");
- }
- int space1Pos = byteIndexOf((byte)' ', firstLine, 0);
- if (space1Pos == -1) {
- throw new IOException("Malformed response");
- }
- int space2Pos = byteIndexOf((byte)' ', firstLine, space1Pos + 1);
- if (space2Pos == -1) {
- throw new IOException("Malformed response");
- }
- if (space2Pos - space1Pos != 4) {
- throw new IOException("Malformed response");
- }
- int codeTemp = 0;
- for (int i = space1Pos + 1; i < space2Pos; i++) {
- codeTemp = codeTemp * 10 + firstLine[i] - (byte)'0';
- }
- code = codeTemp;
- int reasonPhraseStart = space2Pos + 1;
- reasonPhrase = new String(firstLine, reasonPhraseStart, firstLine.length - space2Pos - 1,
- ASCII_CHARSET);
- }
-
- // Fields.
- final Map<String, String> responseFields;
- {
- responseFields = new HashMap<String, String>();
- while (true) {
- byte[] line = input.readUpTo0x0D0A();
- if (line.length == 0) {
- break;
- }
- String lineStr = new String(line, UTF_8_CHARSET);
- int colonPos = lineStr.indexOf(':');
- if (colonPos == -1) {
- throw new IOException("Malformed response field");
- }
- if (colonPos == 0) {
- throw new IOException("Malformed response field: empty key");
- }
- String key = lineStr.substring(0, colonPos).toLowerCase();
- if (lineStr.length() > colonPos + 1 && lineStr.charAt(colonPos + 1) == ' ') {
- colonPos++;
- }
- String value = lineStr.substring(colonPos + 1);
- Object conflict = responseFields.put(key, value);
- if (conflict != null) {
- throw new IOException("Malformed response field: duplicated field: " + key);
- }
- }
- }
- return new HttpResponse() {
- @Override public int getCode() {
- return code;
- }
- @Override public String getReasonPhrase() {
- return reasonPhrase;
- }
- @Override public Map<String, String> getFields() {
- return responseFields;
- }
- };
- }
-
- public static abstract class LineReader {
- abstract byte[] readUpTo0x0D0A() throws IOException;
- }
-
- public static LineReader createLineReader(final InputStream input) {
- return new LineReader() {
- @Override
- byte[] readUpTo0x0D0A() throws IOException {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- while (true) {
- // TODO(peter.rybin): this is slow (for connection logger implementation).
- int i = input.read();
- if (i == -1) {
- throw new IOException("End of stream");
- }
- byte b = (byte) i;
- if (b == 0x0D) {
- break;
- }
- if (b == 0x0A) {
- throw new IOException("Malformed end of line");
- }
- outputStream.write(b);
- }
- {
- int i = input.read();
- if (i == -1) {
- throw new IOException("End of stream");
- }
- byte b = (byte) i;
- if (b != 0x0A) {
- throw new IOException("Malformed end of line");
- }
- }
- return outputStream.toByteArray();
- }
- };
- }
-
- private static int byteIndexOf(byte b, byte[] array, int start) {
- int i = start;
- while (i < array.length) {
- if (array[i] == b) {
- return i;
- }
- i++;
- }
- return -1;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698