.. rst-class:: phpdoctorst .. role:: php(code) :language: php SymfonyHttpClient ================= .. php:namespace:: Firstred\PostNL\HttpClient .. php:class:: SymfonyHttpClient .. rst-class:: phpdoc-description | Class SymfonyHttpClient\. :Parent: :php:class:`Firstred\\PostNL\\HttpClient\\BaseHttpClient` :Implements: :php:interface:`Firstred\\PostNL\\HttpClient\\HttpClientInterface` Summary ------- Methods ~~~~~~~ * :php:meth:`public \_\_construct\($client, $logger, $concurrency, $maxRetries\)` * :php:meth:`private getClient\(\)` * :php:meth:`public setOption\($name, $value\)` * :php:meth:`public getOption\($name\)` * :php:meth:`public doRequest\($request\)` * :php:meth:`public doRequests\($requests\)` * :php:meth:`public setMaxRetries\($maxRetries\)` * :php:meth:`public setConcurrency\($concurrency\)` * :php:meth:`private convertPsrRequestToSymfonyHttpClientRequestParams\($psrRequest\)` * :php:meth:`private convertSymfonyHttpClientResponseToPsrResponse\($symfonyHttpClientResponse\)` Constants --------- .. php:const:: DEFAULT_TIMEOUT = 60 .. php:const:: DEFAULT_CONNECT_TIMEOUT = 20 Properties ---------- .. php:attr:: protected static defaultOptions :Type: array .. php:attr:: private static client :Type: :any:`\\Symfony\\Contracts\\HttpClient\\HttpClientInterface ` | null Methods ------- .. rst-class:: public .. php:method:: public __construct(\\Symfony\\Contracts\\HttpClient\\HttpClientInterface|null $client=null, \\Psr\\Log\\LoggerInterface|null $logger=null, $concurrency=5, $maxRetries=5) .. rst-class:: phpdoc-description | SymfonyHttpClient constructor\. :Parameters: * **$client** (:any:`Symfony\\Contracts\\HttpClient\\HttpClientInterface ` | null) * **$logger** (:any:`Psr\\Log\\LoggerInterface ` | null) * **$concurrency** (int) * **$maxRetries** (int) :Since: 1.3.0 Custom constructor .. rst-class:: private .. php:method:: private getClient() .. rst-class:: phpdoc-description | Get the Symfony HTTP Client\. :Returns: :any:`\\Symfony\\Contracts\\HttpClient\\HttpClientInterface ` | null :Throws: :any:`\\Firstred\\PostNL\\Exception\\HttpClientException ` .. rst-class:: public .. php:method:: public setOption( $name, $value) .. rst-class:: phpdoc-description | Set Symfony HTTP Client option\. :Parameters: * **$name** (string) * **$value** (mixed) :Returns: static .. rst-class:: public .. php:method:: public getOption( $name) .. rst-class:: phpdoc-description | Get Symfony HTTP Client option\. :Parameters: * **$name** (string) :Returns: mixed | null .. rst-class:: public .. php:method:: public doRequest( $request) .. rst-class:: phpdoc-description | Do a single request\. | Exceptions are captured into the result array :Parameters: * **$request** (:any:`Psr\\Http\\Message\\RequestInterface `) :Returns: :any:`\\Psr\\Http\\Message\\ResponseInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\HttpClientException ` .. rst-class:: public .. php:method:: public doRequests( $requests=\[\]) .. rst-class:: phpdoc-description | Do all async requests\. | Exceptions are captured into the result array :Parameters: * **$requests** (:any:`Psr\\Http\\Message\\RequestInterface\[\] `) :Returns: :any:`\\Firstred\\PostNL\\Exception\\HttpClientException\[\] ` | :any:`\\Psr\\Http\\Message\\ResponseInterface\[\] ` .. rst-class:: public .. php:method:: public setMaxRetries( $maxRetries) .. rst-class:: phpdoc-description | Set the amount of retries\. :Parameters: * **$maxRetries** (int) :Returns: static .. rst-class:: public .. php:method:: public setConcurrency( $concurrency) .. rst-class:: phpdoc-description | Set the concurrency\. :Parameters: * **$concurrency** (int) :Returns: static .. rst-class:: private .. php:method:: private convertPsrRequestToSymfonyHttpClientRequestParams( $psrRequest) :Parameters: * **$psrRequest** (:any:`Psr\\Http\\Message\\RequestInterface `) :Returns: array :Since: 1.3.0 .. rst-class:: private .. php:method:: private convertSymfonyHttpClientResponseToPsrResponse( $symfonyHttpClientResponse) :Parameters: * **$symfonyHttpClientResponse** (:any:`Symfony\\Contracts\\HttpClient\\ResponseInterface `) :Returns: :any:`\\Psr\\Http\\Message\\ResponseInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\TransportExceptionInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\NotSupportedException ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ClientExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\RedirectionExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ServerExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\TransportExceptionInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\NotSupportedException ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ClientExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\RedirectionExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ServerExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\TransportExceptionInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\NotSupportedException ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ClientExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\RedirectionExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ServerExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\TransportExceptionInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\NotSupportedException ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ClientExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\RedirectionExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ServerExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\TransportExceptionInterface ` :Throws: :any:`\\Firstred\\PostNL\\Exception\\NotSupportedException ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ClientExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\RedirectionExceptionInterface ` :Throws: :any:`\\Symfony\\Contracts\\HttpClient\\Exception\\ServerExceptionInterface ` :Since: 1.3.0