Creates a composed Guzzle handler function by stacking middlewares on top of an HTTP handler function.
- Full name:
\GuzzleHttp\HandlerStack
private $handler
private $stack
private $cached
Creates a default handler stack that can be used by clients.
public static create(?callable $handler = null): self
The returned handler will wrap the provided handler or use the most appropriate default handler for your system. The returned HandlerStack has support for cookies, redirects, HTTP error exceptions, and preparing a body before sending.
The returned handler stack can be passed to a client in the "handler" option.
- This method is static.
Parameters:
Parameter | Type | Description |
---|---|---|
$handler |
?callable |
public __construct(callable $handler = null): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$handler |
callable |
Invokes the handler stack as a composed handler
public __invoke(\Psr\Http\Message\RequestInterface $request, array $options): \Psr\Http\Message\ResponseInterface|\GuzzleHttp\Promise\PromiseInterface
Parameters:
Parameter | Type | Description |
---|---|---|
$request |
\Psr\Http\Message\RequestInterface | |
$options |
array |
Dumps a string representation of the stack.
public __toString(): string
Set the HTTP handler that actually returns a promise.
public setHandler(callable $handler): void
Parameters:
Parameter | Type | Description |
---|---|---|
$handler |
callable |
Returns true if the builder has a handler.
public hasHandler(): bool
Unshift a middleware to the bottom of the stack.
public unshift(callable $middleware, string $name = null): void
Parameters:
Parameter | Type | Description |
---|---|---|
$middleware |
callable | |
$name |
string | Name to register for this middleware. |
Push a middleware to the top of the stack.
public push(callable $middleware, string $name = ''): void
Parameters:
Parameter | Type | Description |
---|---|---|
$middleware |
callable | |
$name |
string | Name to register for this middleware. |
Add a middleware before another middleware by name.
public before(string $findName, callable $middleware, string $withName = ''): void
Parameters:
Parameter | Type | Description |
---|---|---|
$findName |
string | Middleware to find |
$middleware |
callable | |
$withName |
string | Name to register for this middleware. |
Add a middleware after another middleware by name.
public after(string $findName, callable $middleware, string $withName = ''): void
Parameters:
Parameter | Type | Description |
---|---|---|
$findName |
string | Middleware to find |
$middleware |
callable | |
$withName |
string | Name to register for this middleware. |
Remove a middleware by instance or name from the stack.
public remove(callable|string $remove): void
Parameters:
Parameter | Type | Description |
---|---|---|
$remove |
callable|string | Middleware to remove by instance or name. |
Compose the middleware and handler into a single callable function.
public resolve(): callable
private findByName(string $name): int
Parameters:
Parameter | Type | Description |
---|---|---|
$name |
string |
Splices a function into the middleware list at a specific position.
private splice(string $findName, string $withName, callable $middleware, bool $before): void
Parameters:
Parameter | Type | Description |
---|---|---|
$findName |
string | |
$withName |
string | |
$middleware |
callable | |
$before |
bool |
Provides a debug string for a given callable.
private debugCallable(callable|string $fn): string
Parameters:
Parameter | Type | Description |
---|---|---|
$fn |
callable|string | Function to write as a string. |