Sailthru_Client::apiPost PHP Method

apiPost() public method

if binary_data_param is set, its appends '@' so that cURL can make binary POST request
public apiPost ( string $action, array $data, array $binary_data_param = [], array $options = [] ) : array
$action string
$data array
$binary_data_param array
$options array
return array
    public function apiPost($action, $data, array $binary_data_param = [], $options = [])
    {
        $binary_data = [];
        if (!empty($binary_data_param)) {
            foreach ($binary_data_param as $param) {
                if (isset($data[$param]) && file_exists($data[$param])) {
                    $binary_data[$param] = version_compare(PHP_VERSION, '5.5.0') >= 0 && class_exists('CURLFile') ? new CURLFile($data[$param]) : "@{$data[$param]}";
                    unset($data[$param]);
                    $this->fileUpload = true;
                }
            }
        }
        $payload = $this->prepareJsonPayload($data, $binary_data);
        return $this->httpRequest($action, $payload, 'POST', $options);
    }