diff options
author | Koushik Dutta <koushd@gmail.com> | 2013-04-14 07:49:27 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2013-04-14 07:49:31 -0700 |
commit | 7358bcf86eb2281186867195898cdf746d620439 (patch) | |
tree | b1c17c727c1ac35ce9984a131596a7c675b15b25 | |
parent | 4a0a2b1b34b31b2d7b9228bfb0fc6db3c6b0d252 (diff) | |
download | AndroidAsync-7358bcf86eb2281186867195898cdf746d620439.tar.gz AndroidAsync-7358bcf86eb2281186867195898cdf746d620439.tar.bz2 AndroidAsync-7358bcf86eb2281186867195898cdf746d620439.zip |
tests
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(); |