mirror of
https://github.com/curl/curl.git
synced 2026-08-02 02:10:29 +03:00
http2: Add handling stream level error
Previously, when a stream was closed with other than NGHTTP2_NO_ERROR by RST_STREAM, underlying TCP connection was dropped. This is undesirable since there may be other streams multiplexed and they are very much fine. This change introduce new error code CURLE_HTTP2_STREAM, which indicates stream error that only affects the relevant stream, and connection should be kept open. The existing CURLE_HTTP2 means connection error in general. Ref: https://github.com/curl/curl/issues/659 Ref: https://github.com/curl/curl/pull/663
This commit is contained in:
parent
b2a0376350
commit
92c2a4c053
7 changed files with 20 additions and 2 deletions
|
|
@ -1880,7 +1880,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||
* happened in the data connection.
|
||||
*/
|
||||
|
||||
if(!(data->easy_conn->handler->flags & PROTOPT_DUAL))
|
||||
if(!(data->easy_conn->handler->flags & PROTOPT_DUAL) &&
|
||||
result != CURLE_HTTP2_STREAM)
|
||||
connclose(data->easy_conn, "Transfer returned error");
|
||||
|
||||
Curl_posttransfer(data);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue