<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient; use Symfony\Contracts\HttpClient\HttpClientInterface; /** * A helper providing autocompletion for available options. * * @see HttpClientInterface for a description of each options. * * @author Nicolas Grekas <p@tchwork.com> */ class HttpOptions { private $options = []; public function toArray(): array { return $this->options; } /** * @return $this */ public function setAuthBasic(string $user, string $password = '') { $this->options['auth_basic'] = $user; if ('' !== $password) { $this->options['auth_basic'] .= ':'.$password; } return $this; } /** * @return $this */ public function setAuthBearer(string $token) { $this->options['auth_bearer'] = $token; return $this; } /** * @return $this */ public function setQuery(array $query) { $this->options['query'] = $query; return $this; } /** * @return $this */ public function setHeaders(iterable $headers) { $this->options['headers'] = $headers; return $this; } /** * @param array|string|resource|\Traversable|\Closure $body * * @return $this */ public function setBody($body) { $this->options['body'] = $body; return $this; } /** * @param mixed $json * * @return $this */ public function setJson($json) { $this->options['json'] = $json; return $this; } /** * @return $this */ public function setUserData($data) { $this->options['user_data'] = $data; return $this; } /** * @return $this */ public function setMaxRedirects(int $max) { $this->options['max_redirects'] = $max; return $this; } /** * @return $this */ public function setHttpVersion(string $version) { $this->options['http_version'] = $version; return $this; } /** * @return $this */ public function setBaseUri(string $uri) { $this->options['base_uri'] = $uri; return $this; } /** * @return $this */ public function buffer(bool $buffer) { $this->options['buffer'] = $buffer; return $this; } /** * @return $this */ public function setOnProgress(callable $callback) { $this->options['on_progress'] = $callback; return $this; } /** * @return $this */ public function resolve(array $hostIps) { $this->options['resolve'] = $hostIps; return $this; } /** * @return $this */ public function setProxy(string $proxy) { $this->options['proxy'] = $proxy; return $this; } /** * @return $this */ public function setNoProxy(string $noProxy) { $this->options['no_proxy'] = $noProxy; return $this; } /** * @return $this */ public function setTimeout(float $timeout) { $this->options['timeout'] = $timeout; return $this; } /** * @return $this */ public function setMaxDuration(float $maxDuration) { $this->options['max_duration'] = $maxDuration; return $this; } /** * @return $this */ public function bindTo(string $bindto) { $this->options['bindto'] = $bindto; return $this; } /** * @return $this */ public function verifyPeer(bool $verify) { $this->options['verify_peer'] = $verify; return $this; } /** * @return $this */ public function verifyHost(bool $verify) { $this->options['verify_host'] = $verify; return $this; } /** * @return $this */ public function setCaFile(string $cafile) { $this->options['cafile'] = $cafile; return $this; } /** * @return $this */ public function setCaPath(string $capath) { $this->options['capath'] = $capath; return $this; } /** * @return $this */ public function setLocalCert(string $cert) { $this->options['local_cert'] = $cert; return $this; } /** * @return $this */ public function setLocalPk(string $pk) { $this->options['local_pk'] = $pk; return $this; } /** * @return $this */ public function setPassphrase(string $passphrase) { $this->options['passphrase'] = $passphrase; return $this; } /** * @return $this */ public function setCiphers(string $ciphers) { $this->options['ciphers'] = $ciphers; return $this; } /** * @param string|array $fingerprint * * @return $this */ public function setPeerFingerprint($fingerprint) { $this->options['peer_fingerprint'] = $fingerprint; return $this; } /** * @return $this */ public function capturePeerCertChain(bool $capture) { $this->options['capture_peer_cert_chain'] = $capture; return $this; } /** * @return $this */ public function setExtra(string $name, $value) { $this->options['extra'][$name] = $value; return $this; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Chunk | Folder | 0755 |
|
|
DataCollector | Folder | 0755 |
|
|
DependencyInjection | Folder | 0755 |
|
|
Exception | Folder | 0755 |
|
|
Internal | Folder | 0755 |
|
|
Response | Folder | 0755 |
|
|
Retry | Folder | 0755 |
|
|
AmpHttpClient.php | File | 7.41 KB | 0644 |
|
AsyncDecoratorTrait.php | File | 1.37 KB | 0644 |
|
CHANGELOG.md | File | 2.18 KB | 0644 |
|
CachingHttpClient.php | File | 5.44 KB | 0644 |
|
CurlHttpClient.php | File | 22.84 KB | 0644 |
|
DecoratorTrait.php | File | 1.5 KB | 0644 |
|
EventSourceHttpClient.php | File | 5.75 KB | 0644 |
|
HttpClient.php | File | 3.46 KB | 0644 |
|
HttpClientTrait.php | File | 27.39 KB | 0644 |
|
HttpOptions.php | File | 5.62 KB | 0644 |
|
HttplugClient.php | File | 9.88 KB | 0644 |
|
LICENSE | File | 1.04 KB | 0644 |
|
MockHttpClient.php | File | 4.16 KB | 0644 |
|
NativeHttpClient.php | File | 19.23 KB | 0644 |
|
NoPrivateNetworkHttpClient.php | File | 4.12 KB | 0644 |
|
Psr18Client.php | File | 8.37 KB | 0644 |
|
README.md | File | 913 B | 0644 |
|
RetryableHttpClient.php | File | 5.89 KB | 0644 |
|
ScopingHttpClient.php | File | 4.08 KB | 0644 |
|
TraceableHttpClient.php | File | 3.49 KB | 0644 |
|
composer.json | File | 1.74 KB | 0644 |
|