Fix Guzzle InvalidArgumentException for POST with array parameters

This commit is contained in:
Philipp
2022-11-09 22:17:31 +01:00
parent 75360f3b8c
commit 82c631eae3
3 changed files with 16 additions and 3 deletions

View File

@@ -140,6 +140,10 @@ class HttpClient implements ICanSendHttpRequests
$conf[RequestOptions::BODY] = $opts[HttpClientOptions::BODY];
}
if (!empty($opts[HttpClientOptions::FORM_PARAMS])) {
$conf[RequestOptions::FORM_PARAMS] = $opts[HttpClientOptions::FORM_PARAMS];
}
if (!empty($opts[HttpClientOptions::AUTH])) {
$conf[RequestOptions::AUTH] = $opts[HttpClientOptions::AUTH];
}
@@ -205,7 +209,11 @@ class HttpClient implements ICanSendHttpRequests
{
$opts = [];
$opts[HttpClientOptions::BODY] = $params;
if (!is_array($params)) {
$opts[HttpClientOptions::BODY] = $params;
} else {
$opts[HttpClientOptions::FORM_PARAMS] = $params;
}
if (!empty($headers)) {
$opts[HttpClientOptions::HEADERS] = $headers;

View File

@@ -59,9 +59,13 @@ class HttpClientOptions
const VERIFY = 'verify';
/**
* body: (mixed) Setting the body for sending data
* body: (string) Setting the body for sending data
*/
const BODY = RequestOptions::BODY;
/**
* form_params: (array) Associative array of form field names to values
*/
const FORM_PARAMS = RequestOptions::FORM_PARAMS;
/**
* auth: (array) Authentication settings for specific requests
*/