]> granicus.if.org Git - curl/commitdiff
HTTP: don't switch to HTTP/2 from 1.1 until we get the 101
authorDaniel Stenberg <daniel@haxx.se>
Thu, 19 Mar 2015 12:44:18 +0000 (13:44 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 19 Mar 2015 12:44:18 +0000 (13:44 +0100)
We prematurely changed protocol handler to HTTP/2 which made things very
slow (and wrong).

Reported-by: Stefan Eissing
Bug: https://github.com/bagder/curl/issues/169

lib/http2.c

index 66a0adbc0cfa270d2374c50399a772ba31a10581..4c9d9f7601513dc79a17333b0b38b16c74416117 100644 (file)
@@ -640,10 +640,6 @@ CURLcode Curl_http2_request_upgrade(Curl_send_buffer *req,
   if(result)
     return result;
 
-  result = Curl_http2_setup(conn);
-  if(result)
-    return result;
-
   /* As long as we have a fixed set of settings, we don't have to dynamically
    * figure out the base64 strings since it'll always be the same. However,
    * the settings will likely not be fixed every time in the future.
@@ -1011,6 +1007,10 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
   int rv;
   struct SessionHandle *data = conn->data;
 
+  result = Curl_http2_setup(conn);
+  if(result)
+    return result;
+
   httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET];
   httpc->send_underlying = (sending)conn->send[FIRSTSOCKET];
   conn->recv[FIRSTSOCKET] = http2_recv;