PHP Класс Phly\Conduit\MiddlewarePipe
This class implements a pipe-line of middleware, which can be attached using
the
pipe() method, and is itself middleware.
The request and response objects are decorated using the Phly\Conduit\Http
variants in this package, ensuring that the request may store arbitrary
properties, and the response exposes the convenience
write(),
end(), and
isComplete() methods.
It creates an instance of
Next internally, invoking it with the provided
request and response instances; if no
$out argument is provided, it will
create a
FinalHandler instance and pass that to
Next as well.
Inspired by Sencha Connect.
Показать файл
Открыть проект
Примеры использования класса
Защищенные свойства (Protected)
Открытые методы
Метод |
Описание |
|
__construct ( ) |
Constructor |
|
__invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null ) : Psr\Http\Message\ResponseInterface |
Handle a request |
|
pipe ( string | callable | object $path, null | callable | object $middleware = null ) : self |
Attach middleware to the pipeline. |
|
Приватные методы
Метод |
Описание |
|
decorateRequest ( Psr\Http\Message\ServerRequestInterface $request ) : Request |
Decorate the Request instance |
|
decorateResponse ( Psr\Http\Message\ResponseInterface $response ) : Response |
Decorate the Response instance |
|
normalizePipePath ( string $path ) : string |
Normalize a path used when defining a pipe |
|
Описание методов
__construct()
публичный Метод
__invoke()
публичный Метод
Takes the pipeline, creates a Next handler, and delegates to the
Next handler.
If $out is a callable, it is used as the "final handler" when
$next has exhausted the pipeline; otherwise, a FinalHandler instance
is created and passed to $next during initialization.
public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null ) : Psr\Http\Message\ResponseInterface |
$request |
Psr\Http\Message\ServerRequestInterface |
|
$response |
Psr\Http\Message\ResponseInterface |
|
$out |
callable |
|
Результат |
Psr\Http\Message\ResponseInterface |
|
Each middleware can be associated with a particular path; if that
path is matched when that middleware is invoked, it will be processed;
otherwise it is skipped.
No path means it should be executed every request cycle.
A handler CAN implement MiddlewareInterface, but MUST be callable.
Handlers with arity >= 4 or those implementing ErrorMiddlewareInterface
are considered error handlers, and will be executed when a handler calls
$next with an error or raises an exception.
Описание свойств
$pipeline защищенное свойство
protected SplQueue $pipeline |
Результат |
SplQueue |
|