Fix GuzzleHttpClient

- Add sink (= specify temp store for the body)
- Fix HTTP header merge
This commit is contained in:
Philipp 2020-10-11 21:45:52 +02:00
parent 8c328a3c60
commit b526e6b415
No known key found for this signature in database
GPG Key ID: 9A28B7D4FF5667BD

View File

@ -102,11 +102,17 @@ class HTTPRequest implements IHTTPRequest
// $curlOptions[CURLOPT_MAXREDIRS] = 5;
if (!empty($opts['accept_content'])) {
$curlOptions[CURLOPT_HTTPHEADER][] = ['Accept: ' . $opts['accept_content']];
if (empty($curlOptions[CURLOPT_HTTPHEADER])) {
$curlOptions[CURLOPT_HTTPHEADER] = [];
}
array_push($curlOptions[CURLOPT_HTTPHEADER], 'Accept: ' . $opts['accept_content']);
}
if (!empty($opts['header'])) {
$curlOptions[CURLOPT_HTTPHEADER][] = $opts['header'];
if (empty($curlOptions[CURLOPT_HTTPHEADER])) {
$curlOptions[CURLOPT_HTTPHEADER] = [];
}
$curlOptions[CURLOPT_HTTPHEADER] = array_merge($opts['header'], $curlOptions[CURLOPT_HTTPHEADER]);
}
$curlOptions[CURLOPT_RETURNTRANSFER] = true;
@ -124,7 +130,10 @@ class HTTPRequest implements IHTTPRequest
$curlOptions[CURLOPT_ENCODING] = '';
if (!empty($opts['headers'])) {
$curlOptions[CURLOPT_HTTPHEADER][] = $opts['headers'];
if (empty($curlOptions[CURLOPT_HTTPHEADER])) {
$curlOptions[CURLOPT_HTTPHEADER] = [];
}
$curlOptions[CURLOPT_HTTPHEADER] = array_merge($opts['headers'], $curlOptions[CURLOPT_HTTPHEADER]);
}
if (!empty($opts['nobody'])) {
@ -191,11 +200,12 @@ class HTTPRequest implements IHTTPRequest
'allow_redirect' => [
'max' => 8,
'on_redirect' => $onRedirect,
'on_headers' => $onHeaders,
'track_redirect' => true,
'strict' => true,
'referer' => true,
],
'on_headers' => $onHeaders,
'sink' => tempnam(get_temppath(), 'guzzle'),
'curl' => $curlOptions
]);