Documentation

ScopingHttpClient
in package
implements HttpClientInterface, ResetInterface, LoggerAwareInterface uses HttpClientTrait

Auto-configure the default options based on the requested URL.

Tags
author

Anthony Martin anthony.martin@sensiolabs.com

Table of Contents

Interfaces

HttpClientInterface
Provides flexible methods for requesting HTTP resources synchronously or asynchronously.
ResetInterface
Provides a way to reset an object to its initial state.
LoggerAwareInterface
Describes a logger-aware instance.

Properties

$CHUNK_SIZE  : int
$client  : HttpClientInterface
$defaultOptionsByRegexp  : array<string|int, mixed>
$defaultRegexp  : string|null

Methods

__construct()  : mixed
forBaseUri()  : self
request()  : ResponseInterface
Requests an HTTP resource.
reset()  : void
setLogger()  : void
Sets a logger instance on the object.
stream()  : ResponseStreamInterface
Yields responses chunk by chunk as they complete.
withOptions()  : static
Returns a new instance of the client with new default options.
dechunk()  : string
getProxy()  : array<string|int, mixed>|null
Loads proxy configuration from the same environment variables as curl when no proxy is explicitly set.
getProxyUrl()  : string|null
jsonEncode()  : string
mergeDefaultOptions()  : array<string|int, mixed>
mergeQueryString()  : string|null
Merges and encodes a query array with a query string.
normalizeBody()  : string|resource|Closure
normalizeHeaders()  : array<string|int, array<string|int, string>>
normalizePeerFingerprint()  : array<string|int, mixed>
parseUrl()  : array<string|int, mixed>
Parses a URL and fixes its encoding if needed.
prepareRequest()  : array<string|int, mixed>
Validates and normalizes method, URL and options, and merges them with defaults.
removeDotSegments()  : string
Removes dot-segments from a path.
resolveUrl()  : array<string|int, mixed>
Resolves a URL against a base URI.
shouldBuffer()  : bool

Properties

$defaultOptionsByRegexp

private array<string|int, mixed> $defaultOptionsByRegexp

Methods

__construct()

public __construct(HttpClientInterface $client, array<string|int, mixed> $defaultOptionsByRegexp[, string|null $defaultRegexp = null ]) : mixed
Parameters
$client : HttpClientInterface
$defaultOptionsByRegexp : array<string|int, mixed>
$defaultRegexp : string|null = null

forBaseUri()

public static forBaseUri(HttpClientInterface $client, string $baseUri[, array<string|int, mixed> $defaultOptions = [] ][, string|null $regexp = null ]) : self
Parameters
$client : HttpClientInterface
$baseUri : string
$defaultOptions : array<string|int, mixed> = []
$regexp : string|null = null
Return values
self

request()

Requests an HTTP resource.

public request(string $method, string $url[, array<string|int, mixed> $options = [] ]) : ResponseInterface

Responses MUST be lazy, but their status code MUST be checked even if none of their public methods are called.

Implementations are not required to support all options described above; they can also support more custom options; but in any case, they MUST throw a TransportExceptionInterface when an unsupported option is passed.

Parameters
$method : string
$url : string
$options : array<string|int, mixed> = []
Return values
ResponseInterface

withOptions()

Returns a new instance of the client with new default options.

public withOptions(array<string|int, mixed> $options) : static
Parameters
$options : array<string|int, mixed>
Return values
static

dechunk()

private static dechunk(string $body) : string
Parameters
$body : string
Return values
string

getProxy()

Loads proxy configuration from the same environment variables as curl when no proxy is explicitly set.

private static getProxy(string|null $proxy, array<string|int, mixed> $url, string|null $noProxy) : array<string|int, mixed>|null
Parameters
$proxy : string|null
$url : array<string|int, mixed>
$noProxy : string|null
Return values
array<string|int, mixed>|null

getProxyUrl()

private static getProxyUrl(string|null $proxy, array<string|int, mixed> $url) : string|null
Parameters
$proxy : string|null
$url : array<string|int, mixed>
Return values
string|null

jsonEncode()

private static jsonEncode(mixed $value[, int|null $flags = null ][, int $maxDepth = 512 ]) : string
Parameters
$value : mixed
$flags : int|null = null
$maxDepth : int = 512
Tags
throws
InvalidArgumentException

When the value cannot be json-encoded

Return values
string

mergeDefaultOptions()

private static mergeDefaultOptions(array<string|int, mixed> $options, array<string|int, mixed> $defaultOptions[, bool $allowExtraOptions = false ]) : array<string|int, mixed>
Parameters
$options : array<string|int, mixed>
$defaultOptions : array<string|int, mixed>
$allowExtraOptions : bool = false
Tags
throws
InvalidArgumentException

When an invalid option is found

Return values
array<string|int, mixed>

mergeQueryString()

Merges and encodes a query array with a query string.

private static mergeQueryString(string|null $queryString, array<string|int, mixed> $queryArray, bool $replace) : string|null
Parameters
$queryString : string|null
$queryArray : array<string|int, mixed>
$replace : bool
Tags
throws
InvalidArgumentException

When an invalid query-string value is passed

Return values
string|null

normalizeBody()

private static normalizeBody(array<string|int, mixed>|string|resource|Traversable|Closure $body[, array<string|int, mixed> &$normalizedHeaders = [] ]) : string|resource|Closure
Parameters
$body : array<string|int, mixed>|string|resource|Traversable|Closure
$normalizedHeaders : array<string|int, mixed> = []
Tags
throws
InvalidArgumentException

When an invalid body is passed

Return values
string|resource|Closure

normalizeHeaders()

private static normalizeHeaders(array<string|int, mixed> $headers) : array<string|int, array<string|int, string>>
Parameters
$headers : array<string|int, mixed>
Tags
throws
InvalidArgumentException

When an invalid header is found

Return values
array<string|int, array<string|int, string>>

normalizePeerFingerprint()

private static normalizePeerFingerprint(mixed $fingerprint) : array<string|int, mixed>
Parameters
$fingerprint : mixed
Tags
throws
InvalidArgumentException

When an invalid fingerprint is passed

Return values
array<string|int, mixed>

parseUrl()

Parses a URL and fixes its encoding if needed.

private static parseUrl(string $url[, array<string|int, mixed> $query = [] ][, array<string|int, mixed> $allowedSchemes = ['http' => 80, 'https' => 443] ]) : array<string|int, mixed>
Parameters
$url : string
$query : array<string|int, mixed> = []
$allowedSchemes : array<string|int, mixed> = ['http' => 80, 'https' => 443]
Tags
throws
InvalidArgumentException

When an invalid URL is passed

Return values
array<string|int, mixed>

prepareRequest()

Validates and normalizes method, URL and options, and merges them with defaults.

private static prepareRequest(string|null $method, string|null $url, array<string|int, mixed> $options[, array<string|int, mixed> $defaultOptions = [] ][, bool $allowExtraOptions = false ]) : array<string|int, mixed>
Parameters
$method : string|null
$url : string|null
$options : array<string|int, mixed>
$defaultOptions : array<string|int, mixed> = []
$allowExtraOptions : bool = false
Tags
throws
InvalidArgumentException

When a not-supported option is found

Return values
array<string|int, mixed>

resolveUrl()

Resolves a URL against a base URI.

private static resolveUrl(array<string|int, mixed> $url, array<string|int, mixed>|null $base[, array<string|int, mixed> $queryDefaults = [] ]) : array<string|int, mixed>
Parameters
$url : array<string|int, mixed>
$base : array<string|int, mixed>|null
$queryDefaults : array<string|int, mixed> = []
Tags
see
https://tools.ietf.org/html/rfc3986#section-5.2.2
throws
InvalidArgumentException

When an invalid URL is passed

Return values
array<string|int, mixed>

shouldBuffer()

private static shouldBuffer(array<string|int, mixed> $headers) : bool
Parameters
$headers : array<string|int, mixed>
Return values
bool

        
On this page

Search results