Skip to content

Commit

Permalink
Curl_http2_setup: only do it once and enable multiplex on the server
Browse files Browse the repository at this point in the history
Once we know we are HTTP/2 enabled we know the server can multiplex.
  • Loading branch information
bagder committed May 18, 2015
1 parent 6e6b02f commit f858624
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion lib/http2.c
Expand Up @@ -32,6 +32,7 @@
#include "curl_base64.h"
#include "rawstr.h"
#include "multiif.h"
#include "bundles.h"

/* The last #include files should be: */
#include "curl_memory.h"
Expand Down Expand Up @@ -972,6 +973,11 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
{
CURLcode result;
struct http_conn *httpc = &conn->proto.httpc;

if((conn->handler == &Curl_handler_http2_ssl) ||
(conn->handler == &Curl_handler_http2))
return CURLE_OK; /* already done */

if(conn->handler->flags & PROTOPT_SSL)
conn->handler = &Curl_handler_http2_ssl;
else
Expand All @@ -981,7 +987,7 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
if(result)
return result;

infof(conn->data, "Using HTTP2\n");
infof(conn->data, "Using HTTP2, server supports multi-use\n");
httpc->bodystarted = FALSE;
httpc->error_code = NGHTTP2_NO_ERROR;
httpc->closed = FALSE;
Expand All @@ -996,6 +1002,7 @@ CURLcode Curl_http2_setup(struct connectdata *conn)
httpc->status_code = -1;

conn->httpversion = 20;
conn->bundle->server_supports_pipelining = TRUE;

return CURLE_OK;
}
Expand Down

0 comments on commit f858624

Please sign in to comment.