PluginProbe
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell / 2.8.16
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell v2.8.16
3.13.3 3.13.2 3.13.1 3.13.0 3.12.13 3.12.12 3.12.11 3.12.10 3.12.9 3.12.8 3.12.7 3.12.6 3.12.5 3.12.4 3.12.3 3.12.1 3.12.2 3.12.0 3.11.1 3.11.0 3.10.9 3.10.8 3.10.7 3.10.6 2.8.16 All 261 releases
wpfunnels / vendor / symfony / http-client-contracts / HttpClientInterface.php

HttpClientInterface.php in WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell 2.8.16, at vendor/symfony/http-client-contracts/HttpClientInterface.php

96 lines 5.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <[email protected]>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Contracts\HttpClient;
13
14 use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
15 use Symfony\Contracts\HttpClient\Test\HttpClientTestCase;
16
17 /**
18 * Provides flexible methods for requesting HTTP resources synchronously or asynchronously.
19 *
20 * @see HttpClientTestCase for a reference test suite
21 *
22 * @method static withOptions(array $options) Returns a new instance of the client with new default options
23 *
24 * @author Nicolas Grekas <[email protected]>
25 */
26 interface HttpClientInterface
27 {
28 public const OPTIONS_DEFAULTS = [
29 'auth_basic' => null, // array|string - an array containing the username as first value, and optionally the
30 // password as the second one; or string like username:password - enabling HTTP Basic
31 // authentication (RFC 7617)
32 'auth_bearer' => null, // string - a token enabling HTTP Bearer authorization (RFC 6750)
33 'query' => [], // string[] - associative array of query string values to merge with the request's URL
34 'headers' => [], // iterable|string[]|string[][] - headers names provided as keys or as part of values
35 'body' => '', // array|string|resource|\Traversable|\Closure - the callback SHOULD yield a string
36 // smaller than the amount requested as argument; the empty string signals EOF; if
37 // an array is passed, it is meant as a form payload of field names and values
38 'json' => null, // mixed - if set, implementations MUST set the "body" option to the JSON-encoded
39 // value and set the "content-type" header to a JSON-compatible value if it is not
40 // explicitly defined in the headers option - typically "application/json"
41 'user_data' => null, // mixed - any extra data to attach to the request (scalar, callable, object...) that
42 // MUST be available via $response->getInfo('user_data') - not used internally
43 'max_redirects' => 20, // int - the maximum number of redirects to follow; a value lower than or equal to 0
44 // means redirects should not be followed; "Authorization" and "Cookie" headers MUST
45 // NOT follow except for the initial host name
46 'http_version' => null, // string - defaults to the best supported version, typically 1.1 or 2.0
47 'base_uri' => null, // string - the URI to resolve relative URLs, following rules in RFC 3986, section 2
48 'buffer' => true, // bool|resource|\Closure - whether the content of the response should be buffered or not,
49 // or a stream resource where the response body should be written,
50 // or a closure telling if/where the response should be buffered based on its headers
51 'on_progress' => null, // callable(int $dlNow, int $dlSize, array $info) - throwing any exceptions MUST abort
52 // the request; it MUST be called on DNS resolution, on arrival of headers and on
53 // completion; it SHOULD be called on upload/download of data and at least 1/s
54 'resolve' => [], // string[] - a map of host to IP address that SHOULD replace DNS resolution
55 'proxy' => null, // string - by default, the proxy-related env vars handled by curl SHOULD be honored
56 'no_proxy' => null, // string - a comma separated list of hosts that do not require a proxy to be reached
57 'timeout' => null, // float - the idle timeout - defaults to ini_get('default_socket_timeout')
58 'max_duration' => 0, // float - the maximum execution time for the request+response as a whole;
59 // a value lower than or equal to 0 means it is unlimited
60 'bindto' => '0', // string - the interface or the local socket to bind to
61 'verify_peer' => true, // see https://php.net/context.ssl for the following options
62 'verify_host' => true,
63 'cafile' => null,
64 'capath' => null,
65 'local_cert' => null,
66 'local_pk' => null,
67 'passphrase' => null,
68 'ciphers' => null,
69 'peer_fingerprint' => null,
70 'capture_peer_cert_chain' => false,
71 'extra' => [], // array - additional options that can be ignored if unsupported, unlike regular options
72 ];
73
74 /**
75 * Requests an HTTP resource.
76 *
77 * Responses MUST be lazy, but their status code MUST be
78 * checked even if none of their public methods are called.
79 *
80 * Implementations are not required to support all options described above; they can also
81 * support more custom options; but in any case, they MUST throw a TransportExceptionInterface
82 * when an unsupported option is passed.
83 *
84 * @throws TransportExceptionInterface When an unsupported option is passed
85 */
86 public function request(string $method, string $url, array $options = []): ResponseInterface;
87
88 /**
89 * Yields responses chunk by chunk as they complete.
90 *
91 * @param ResponseInterface|iterable<array-key, ResponseInterface> $responses One or more responses created by the current HTTP client
92 * @param float|null $timeout The idle timeout before yielding timeout chunks
93 */
94 public function stream($responses, float $timeout = null): ResponseStreamInterface;
95 }
96