Final Class Yiisoft\Queue\Middleware\FailureHandling\FailureMiddlewareDispatcher
| Inheritance | Yiisoft\ |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\ |
|
| dispatch() | Dispatch request through middleware to get response. | Yiisoft\ |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| DEFAULT_PIPELINE | 'failure-pipeline-default' | Yiisoft\ |
Method Details
| public mixed __construct ( Yiisoft\ | ||
| $middlewareFactory | Yiisoft\ |
|
| $middlewareDefinitions | array[][]|callable[][]|\ |
|
public function __construct(
private readonly FailureMiddlewareFactoryInterface $middlewareFactory,
array $middlewareDefinitions,
) {
$middlewareDefinitions[self::DEFAULT_PIPELINE] ??= [];
$this->middlewareDefinitions = $middlewareDefinitions;
}
Dispatch request through middleware to get response.
| public Yiisoft\ | ||
| $request | Yiisoft\ |
Request to pass to middleware. |
| $finalHandler | Yiisoft\ |
Handler to use in case no middleware produced a response. |
public function dispatch(
FailureHandlingRequest $request,
FailureHandlerInterface $finalHandler,
): FailureHandlingRequest {
$queueName = $request->getQueueName();
if (!isset($this->middlewareDefinitions[$queueName]) || $this->middlewareDefinitions[$queueName] === []) {
$queueName = self::DEFAULT_PIPELINE;
}
$definitions = array_reverse($this->middlewareDefinitions[$queueName]);
$this->stack[$queueName] ??= new FailureMiddlewareStack($this->buildMiddlewares(...$definitions), $finalHandler);
return $this->stack[$queueName]->handleFailure($request);
}
User Contributed Notes
Leave a comment
Join the conversation to share a note.