diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-08-14 15:21:58 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-08-14 15:22:46 +0200 |
commit | 83501e63ddc445647c36d07d92d2a55d4c35f0b1 (patch) | |
tree | 3f128845616fad406d3163491e267d04e036df29 /lib/vquic/ngtcp2.c | |
parent | b73f1e058cc73aa72646e248cd295473dfc8d93e (diff) | |
download | curl-83501e63ddc445647c36d07d92d2a55d4c35f0b1.tar.gz |
fixup ngtcp2 - end the h3 stream after the requestbagder/h3-happy-eyeballs
Diffstat (limited to 'lib/vquic/ngtcp2.c')
-rw-r--r-- | lib/vquic/ngtcp2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c index 9b5c9df96..b9dbfd403 100644 --- a/lib/vquic/ngtcp2.c +++ b/lib/vquic/ngtcp2.c @@ -1698,6 +1698,7 @@ static CURLcode http_request(struct connectdata *conn, const void *mem, #endif break; default: + stream->upload_left = 0; /* nothing left to send */ rc = nghttp3_conn_submit_request(qs->h3conn, stream->stream3_id, nva, nheader, NULL, /* no body! */ @@ -1711,6 +1712,15 @@ static CURLcode http_request(struct connectdata *conn, const void *mem, Curl_safefree(nva); + if(!stream->upload_left) { + /* done with this stream, FIN it */ + rc = nghttp3_conn_end_stream(qs->h3conn, stream->stream3_id); + if(rc) { + result = CURLE_SEND_ERROR; + goto fail; + } + } + infof(data, "Using HTTP/3 Stream ID: %x (easy handle %p)\n", stream3_id, (void *)data); |