Nicolas Grekas
450c3c4998
[HttpClient] fix race condition when reading response with informational status
2019-09-24 20:09:31 +02:00
Nicolas Grekas
34275bba1c
[HttpClient] fix support for 103 Early Hints and other informational status codes
2019-09-03 23:21:26 +02:00
Nicolas Grekas
019bce7230
[HttpClient] improve handling of HTTP/2 PUSH
2019-09-03 17:44:22 +02:00
Alexander M. Turek
c26c53596e
Fix inconsistent return points.
2019-08-20 16:27:59 +02:00
Hugo Alliaume
ba030f0022
[HttpClient] Declare $active
first to prevent weird issue
2019-08-07 10:24:40 +02:00
Fabien Potencier
0219834a2d
bug #32141 [HttpClient] fix dealing with 1xx informational responses (nicolas-grekas)
...
This PR was merged into the 4.3 branch.
Discussion
----------
[HttpClient] fix dealing with 1xx informational responses
| Q | A
| ------------- | ---
| Branch? | 4.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I never had a look at 1xx status codes until today.
This PR fixes reading them when using curl.
If one wonders:
- `NativeHttpClient` uses `fopen()`, which skips informational parts as allowed by the HTTP spec and doesn't give any way to access their response headers.
- `CurlHttpClient` allows reading informational responses using the progress callback or via the getInfo() method. That's the way if you need to implement e.g. HTTP 103 early hints.
Commits
-------
412411d795
[HttpClient] fix dealing with 1xx informational responses
2019-06-26 09:29:23 +02:00
Nicolas Grekas
412411d795
[HttpClient] fix dealing with 1xx informational responses
2019-06-23 19:42:15 +02:00
Nicolas Grekas
dc55cf826a
[HttpClient] fixing passing debug info to progress callback
2019-06-18 14:13:04 +02:00
Nicolas Grekas
a2960a3318
[HttpClient] Don't use CurlHttpClient on Windows when curl.cainfo is not set
2019-06-13 14:16:31 +02:00
Nicolas Grekas
21857a1edb
[HttpClient] fix closing debug stream prematurely
2019-06-12 15:33:27 +02:00
Nicolas Grekas
4acca42330
[HttpClient] Don't throw InvalidArgumentException on bad Location header
2019-06-04 10:32:15 +02:00
Nicolas Grekas
4fce813ed0
[HttpClient] fix unregistering the debug buffer when using curl
2019-06-04 08:38:41 +02:00
Javier Eguiluz
2da9e3f717
[HttpClient] Minor fix in an error message
2019-05-30 11:47:28 +02:00
Nicolas Grekas
1214609b37
[HttpClient] make $response->getInfo('debug') return extended logs about the HTTP transaction
2019-05-28 10:25:44 +02:00
Nicolas Grekas
3273109cbe
[HttpClient] display proper error message on TransportException when curl is used
2019-05-23 08:55:10 +02:00
Alexander M. Turek
20f4eb3204
Document the state object that is passed around by the HttpClient.
2019-04-10 13:03:42 +02:00
Grégoire Pineau
098a7ac1af
[HttpClient] Adjust logger messages and levels
2019-04-05 16:18:29 +02:00
Nicolas Grekas
26d15c8bbe
[HttpClient] log requests, responses and pushes when they happen
2019-04-05 13:59:27 +02:00
Nicolas Grekas
0b21268bf5
[HttpClient][Contracts] rename "raw_headers" to "response_headers"
2019-04-02 12:06:39 +02:00
Nicolas Grekas
332a88c8ce
[HttpClient] correctly clean state on destruct in CurlResponse
2019-03-28 16:53:35 +01:00
Nicolas Grekas
e11ef7ed12
[HttpClient] yield a last chunk for completed responses also
2019-03-11 12:00:28 +01:00
Nicolas Grekas
3eca2b448d
[HttpClient] fixes
2019-03-08 17:57:56 +01:00
Nicolas Grekas
8610668c1c
[HttpClient] introduce the component
2019-03-07 17:16:39 +01:00