public function __construct(OAuth\Consumer $consumer, Http\Url $url, $method = self::GET, array $post = [], array $headers = [], OAuth\Token $token = NULL)
{
$this->consumer = $consumer;
$this->token = $token;
$this->url = $url;
$this->method = strtoupper($method);
$this->headers = $headers;
if (is_array($post) && !empty($post)) {
$this->post = array_map(function ($value) {
if ($value instanceof Http\UrlScript) {
return (string) $value;
} elseif ($value instanceof \CURLFile) {
return $value;
}
return !is_string($value) ? Utils\Json::encode($value) : $value;
}, $post);
}
$parameters = $this->getParameters();
$defaults = ['oauth_version' => OAuth\DI\OAuthExtension::VERSION, 'oauth_nonce' => $this->generateNonce(), 'oauth_timestamp' => $this->generateTimestamp(), 'oauth_consumer_key' => $this->consumer->getKey()];
if ($token && $token->getToken()) {
$defaults['oauth_token'] = $this->token->getToken();
}
// Update query parameters
$this->url->setQuery(array_merge($defaults, $parameters));
}