aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2015-01-02 00:40:56 -0800
committerKoushik Dutta <koushd@gmail.com>2015-01-02 00:41:00 -0800
commit8fccb744e3661434fafafc4c80e0ba8999a169d5 (patch)
tree95258578edafc5386a5049c9fe1149f7117ab7c5 /AndroidAsync
parent03ba3d24a94bd829f89051dc63fdcfac115898d8 (diff)
downloadAndroidAsync-8fccb744e3661434fafafc4c80e0ba8999a169d5.tar.gz
AndroidAsync-8fccb744e3661434fafafc4c80e0ba8999a169d5.tar.bz2
AndroidAsync-8fccb744e3661434fafafc4c80e0ba8999a169d5.zip
fix ssl hang, even if spdy is disabled
Diffstat (limited to 'AndroidAsync')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/spdy/SpdyMiddleware.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/spdy/SpdyMiddleware.java b/AndroidAsync/src/com/koushikdutta/async/http/spdy/SpdyMiddleware.java
index 47ec2ed..b5c838e 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/spdy/SpdyMiddleware.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/spdy/SpdyMiddleware.java
@@ -167,10 +167,11 @@ public class SpdyMiddleware extends AsyncSSLSocketMiddleware {
}
private static final NoSpdyException NO_SPDY = new NoSpdyException();
- private void noSpdy(String key) {
+ private void noSpdy(final GetSocketData data, String key) {
SpdyConnectionWaiter conn = connections.remove(key);
if (conn != null)
conn.setComplete(NO_SPDY);
+ data.request.logv("not using spdy");
}
@Override
@@ -178,25 +179,26 @@ public class SpdyMiddleware extends AsyncSSLSocketMiddleware {
return new AsyncSSLSocketWrapper.HandshakeCallback() {
@Override
public void onHandshakeCompleted(Exception e, AsyncSSLSocket socket) {
+ final String key = data.request.getUri().getHost();
data.request.logv("checking spdy handshake");
if (e != null || nativeGetAlpnNegotiatedProtocol == null) {
callback.onConnectCompleted(e, socket);
+ noSpdy(data, key);
return;
}
- final String key = data.request.getUri().getHost();
try {
long ptr = (Long)sslNativePointer.get(socket.getSSLEngine());
byte[] proto = (byte[])nativeGetAlpnNegotiatedProtocol.invoke(null, ptr);
if (proto == null) {
callback.onConnectCompleted(null, socket);
- noSpdy(key);
+ noSpdy(data, key);
return;
}
String protoString = new String(proto);
Protocol p = Protocol.get(protoString);
if (p == null) {
callback.onConnectCompleted(null, socket);
- noSpdy(key);
+ noSpdy(data, key);
return;
}
final AsyncSpdyConnection connection = new AsyncSpdyConnection(socket, Protocol.get(protoString)) {
@@ -224,7 +226,7 @@ public class SpdyMiddleware extends AsyncSSLSocketMiddleware {
catch (Exception ex) {
socket.close();
callback.onConnectCompleted(ex, null);
- noSpdy(key);
+ noSpdy(data, key);
}
}
};