1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00
Go to file
Tatsuhiro Tsujikawa 86c633a893 http2: Ensure that http2_handle_stream_close is called
This commit ensures that streams which was closed in on_stream_close
callback gets passed to http2_handle_stream_close.  Previously, this
might not happen.  To achieve this, we increment drain property to
forcibly call recv function for that stream.

To more accurately check that we have no pending event before shutting
down HTTP/2 session, we sum up drain property into
http_conn.drain_total.  We only shutdown session if that value is 0.

With this commit, when stream was closed before reading response
header fields, error code CURLE_HTTP2_STREAM is returned even if
HTTP/2 level error is NO_ERROR.  This signals the upper layer that
stream was closed by error just like TCP connection close in HTTP/1.

Ref: https://github.com/curl/curl/issues/659
Ref: https://github.com/curl/curl/pull/663
2016-04-11 21:43:28 -04:00
.github CONTRIBUTING.md: fix links 2016-02-18 11:59:17 +01:00
CMake URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
docs http2: Add handling stream level error 2016-04-11 21:43:24 -04:00
include http2: Add handling stream level error 2016-04-11 21:43:24 -04:00
lib http2: Ensure that http2_handle_stream_close is called 2016-04-11 21:43:28 -04:00
m4 URLs: Change more haxx.se URLs from http: to https: 2016-02-03 01:45:21 +01:00
packages http2: Add handling stream level error 2016-04-11 21:43:24 -04:00
projects checksrc.bat: Added support for the examples 2016-04-03 22:09:07 +01:00
scripts contributors.sh: make 79 the max column width (from 80) 2016-02-10 13:49:42 +01:00
src CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAME 2016-04-09 20:47:05 +01:00
tests tests: Fixed header files to comply with our code style 2016-04-03 21:57:38 +01:00
winbuild Revert "winbuild: trying to set some files eol=crlf for git" 2016-04-07 08:06:56 +02:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes Tell git to not convert configure-related files. 2012-07-17 20:35:23 +02:00
.gitignore build: Install zsh completion 2015-11-24 22:22:01 +01:00
.travis.yml travis.yml: Add OS X testbot. 2015-08-21 12:48:52 +02:00
acinclude.m4 configure: use cpp -P when needed 2016-03-18 16:26:05 +01:00
appveyor.yml AppVeyor: updated to handle OpenSSL/WinSSL builds 2016-02-01 23:55:08 +01:00
buildconf URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
buildconf.bat dist: ship buildconf.bat too 2016-02-12 16:45:25 +01:00
CHANGES URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
CHANGES.0 URLs: change more http to https 2016-02-04 18:46:54 -05:00
CMakeLists.txt URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
configure.ac wolfssl: Use ECC supported curves extension 2016-03-29 19:06:55 -04:00
COPYING COPYING: clarify that Daniel is not the sole author 2016-02-06 18:40:27 +01:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
curl-config.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
GIT-INFO curl tool: renaming hugehelp files to tool_hugehelp 2012-12-26 23:30:54 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
MacOSX-Framework MacOSX-Framework: sdk regex fix for sdk 10.10 and later 2015-10-25 12:35:49 +01:00
Makefile.am build: include scripts/ in the dist 2016-04-09 23:44:53 +02:00
Makefile.dist URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
maketgz maketgz: add -j to make dist 2016-03-22 10:35:22 +01:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
README.md README.md: linkified 2016-03-07 11:09:56 +01:00
RELEASE-NOTES RELEASE-NOTES: Corrected last updated 2016-04-06 00:26:12 +01:00

Curl is a command line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

CONTACT

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

WEB SITE

Visit the curl web site for the latest news and downloads.

GIT

To download the very latest source off the GIT server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

NOTICE

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.