http2: use nghttp2_session_upgrade2 instead of nghttp2_session_upgrade

Following the upstream deprecation of nghttp2_session_upgrade.

Also provides further checks for requests with the HEAD method.

Closes #7041
This commit is contained in:
Peng-Yu Chen 2021-05-10 23:50:27 +01:00 committed by Daniel Stenberg
parent 1e19eceb50
commit 651a75e1e7
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 3 additions and 3 deletions

View File

@ -2273,10 +2273,10 @@ CURLcode Curl_http2_switched(struct Curl_easy *data,
/* stream 1 is opened implicitly on upgrade */
stream->stream_id = 1;
/* queue SETTINGS frame (again) */
rv = nghttp2_session_upgrade(httpc->h2, httpc->binsettings,
httpc->binlen, NULL);
rv = nghttp2_session_upgrade2(httpc->h2, httpc->binsettings, httpc->binlen,
data->state.httpreq == HTTPREQ_HEAD, NULL);
if(rv) {
failf(data, "nghttp2_session_upgrade() failed: %s(%d)",
failf(data, "nghttp2_session_upgrade2() failed: %s(%d)",
nghttp2_strerror(rv), rv);
return CURLE_HTTP2;
}