* Send POST request to an URL
*
* @param string $url URL to post
- * @param mixed $params array of POST variables
+ * @param mixed $params POST variables (if an array is passed, it will automatically set as formular parameters)
* @param array $headers HTTP headers
* @param int $timeout The timeout in seconds, default system config value or 60 seconds
*
* @param string $url Url to send to
* @param array $opts (optional parameters) associative array with:
* 'body' => (mixed) setting the body for sending data
+ * 'form_params' => (array) Associative array of form field names to values
* 'accept_content' => (string array) supply Accept: header with 'accept_content' as the value
* 'timeout' => int Timeout in seconds, default system config value or 60 seconds
* 'cookiejar' => path to cookie jar file
$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];
}
{
$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;
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
*/