aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2013-04-14 07:49:27 -0700
committerKoushik Dutta <koushd@gmail.com>2013-04-14 07:49:31 -0700
commit7358bcf86eb2281186867195898cdf746d620439 (patch)
treeb1c17c727c1ac35ce9984a131596a7c675b15b25
parent4a0a2b1b34b31b2d7b9228bfb0fc6db3c6b0d252 (diff)
downloadAndroidAsync-7358bcf86eb2281186867195898cdf746d620439.tar.gz
AndroidAsync-7358bcf86eb2281186867195898cdf746d620439.tar.bz2
AndroidAsync-7358bcf86eb2281186867195898cdf746d620439.zip
tests
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/AsyncNetworkSocket.java3
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java2
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/WebSocketImpl.java6
-rw-r--r--AndroidAsyncTest/src/com/koushikdutta/async/test/WebSocketTests.java20
4 files changed, 29 insertions, 2 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncNetworkSocket.java b/AndroidAsync/src/com/koushikdutta/async/AsyncNetworkSocket.java
index 45970ef..d6e58dd 100644
--- a/AndroidAsync/src/com/koushikdutta/async/AsyncNetworkSocket.java
+++ b/AndroidAsync/src/com/koushikdutta/async/AsyncNetworkSocket.java
@@ -8,6 +8,8 @@ import java.nio.channels.SocketChannel;
import junit.framework.Assert;
+import android.util.Log;
+
import com.koushikdutta.async.callback.CompletedCallback;
import com.koushikdutta.async.callback.DataCallback;
import com.koushikdutta.async.callback.WritableCallback;
@@ -150,6 +152,7 @@ public class AsyncNetworkSocket implements AsyncSocket {
b.limit(b.position());
b.position(0);
ByteBufferList list = new ByteBufferList(b);
+ Log.d("ASYNC", list.peekString());
Util.emitAllData(this, list);
if (b.remaining() != 0) {
Assert.assertTrue(pending == null);
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java
index 4774053..306b37c 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java
@@ -505,7 +505,7 @@ public class AsyncHttpClient {
}
public Future<WebSocket> websocket(final AsyncHttpRequest req, String protocol, final WebSocketConnectCallback callback) {
- WebSocketImpl.addWebSocketUpgradeHeaders(req.getHeaders().getHeaders(), protocol);
+ WebSocketImpl.addWebSocketUpgradeHeaders(req, protocol);
final SimpleFuture<WebSocket> ret = new SimpleFuture<WebSocket>();
Cancellable connect = execute(req, new HttpConnectCallback() {
@Override
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/WebSocketImpl.java b/AndroidAsync/src/com/koushikdutta/async/http/WebSocketImpl.java
index 38b7f1c..d9d841b 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/WebSocketImpl.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/WebSocketImpl.java
@@ -110,7 +110,8 @@ public class WebSocketImpl implements WebSocket {
setupParser();
}
- public static void addWebSocketUpgradeHeaders(RawHeaders headers, String protocol) {
+ public static void addWebSocketUpgradeHeaders(AsyncHttpRequest req, String protocol) {
+ RawHeaders headers = req.getHeaders().getHeaders();
final String key = UUID.randomUUID().toString();
headers.set("Sec-WebSocket-Version", "13");
headers.set("Sec-WebSocket-Key", key);
@@ -118,6 +119,9 @@ public class WebSocketImpl implements WebSocket {
headers.set("Upgrade", "websocket");
if (protocol != null)
headers.set("Sec-WebSocket-Protocol", protocol);
+ headers.set("Pragma", "no-cache");
+ headers.set("Cache-Control", "no-cache");
+ req.getHeaders().setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.15 Safari/537.36");
}
public WebSocketImpl(AsyncSocket socket) {
diff --git a/AndroidAsyncTest/src/com/koushikdutta/async/test/WebSocketTests.java b/AndroidAsyncTest/src/com/koushikdutta/async/test/WebSocketTests.java
index c4d93d1..1301ec0 100644
--- a/AndroidAsyncTest/src/com/koushikdutta/async/test/WebSocketTests.java
+++ b/AndroidAsyncTest/src/com/koushikdutta/async/test/WebSocketTests.java
@@ -64,6 +64,26 @@ public class WebSocketTests extends TestCase {
assertTrue(semaphore.tryAcquire(TIMEOUT, TimeUnit.MILLISECONDS));
}
+// public void testEchoServer() throws Exception {
+// final Semaphore semaphore = new Semaphore(0);
+//
+// AsyncHttpClient.getDefaultInstance().websocket("http://echo.websocket.org/?encoding=text", null, new WebSocketConnectCallback() {
+// @Override
+// public void onCompleted(Exception ex, WebSocket webSocket) {
+// webSocket.setStringCallback(new StringCallback() {
+// @Override
+// public void onStringAvailable(String s) {
+// assertEquals(s, "hello");
+// semaphore.release();
+// }
+// });
+// webSocket.send("hello");
+// }
+// });
+//
+// assertTrue(semaphore.tryAcquire(TIMEOUT * 10, TimeUnit.MILLISECONDS));
+// }
+
@Override
protected void tearDown() throws Exception {
super.tearDown();