/** * @param Options $options * @param string $method * @param string|array $args * @return array */ protected function _getClientOptions(Options $options, $method, $args) { $headers = $options->getHeaders(); $headers['User-Agent'] = $options->getUserAgent('Guzzle6'); $body = $formParams = null; if ('GET' !== $method) { if (is_array($args)) { $formParams = $args; } else { $body = $args; } } return array('form_params' => $formParams, 'body' => $body, 'headers' => $headers, 'connect_timeout' => $options->getTimeout(), 'timeout' => $options->getTimeout(), 'verify' => $options->isVerify(), 'exceptions' => $options->isExceptions(), 'auth' => $options->getAuth(), 'allow_redirects' => $this->_getAllowRedirects($options)); }
/** * @inheritdoc */ public function multiRequest(array $urls) { $requests = array(); foreach ($urls as $urlName => $urlData) { if (is_string($urlData)) { $urlData = array($urlData, array()); } $urlOptions = new Options($urlData[1]); $method = $urlOptions->get('method', 'GET', 'up'); $args = $urlOptions->get('args'); $url = 'GET' === $method ? Url::addArg((array) $args, $urlData[0]) : $urlData[0]; $args = 'GET' !== $method ? $args : array(); $requests[$urlName] = array('url' => $url, 'headers' => $urlOptions->getHeaders(), 'data' => $args, 'type' => $method, 'options' => $this->_getClientOptions($urlOptions)); } $httpResults = \Requests::request_multiple($requests); /** @var string $resName */ /** @var \Requests_Response $httpResult */ $result = array(); foreach ($httpResults as $resName => $httpResult) { $result[$resName] = array($httpResult->status_code, $httpResult->headers->getAll(), $httpResult->body); } return $result; }
/** * @param Options $options * @param string $method * @param string|array $args * @return array */ protected function _getClientOptions(Options $options, $method, $args) { $headers = $options->getHeaders(); $headers['User-Agent'] = $options->getUserAgent('Guzzle5'); return array('body' => 'GET' !== $method ? $args : null, 'headers' => $headers, 'exceptions' => $options->isExceptions(), 'timeout' => $options->getTimeout(), 'verify' => $options->isVerify(), 'auth' => $options->getAuth(), 'allow_redirects' => $this->_getAllowRedirects($options)); }