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:
Tatsuhiro Tsujikawa 2016-02-17 21:36:59 +09:00 committed by Jay Satiro
parent b2a0376350
commit 92c2a4c053
7 changed files with 20 additions and 2 deletions

View file

@ -305,6 +305,9 @@ curl_easy_strerror(CURLcode error)
case CURLE_SSL_INVALIDCERTSTATUS:
return "SSL server certificate status verification FAILED";
case CURLE_HTTP2_STREAM:
return "Stream error in the HTTP/2 framing layer";
/* error codes not used by current libcurl */
case CURLE_OBSOLETE20:
case CURLE_OBSOLETE24: