diff --git a/src/Middleware/Push/PushMiddlewareDispatcher.php b/src/Middleware/Push/PushMiddlewareDispatcher.php index ff44697f..b500740e 100644 --- a/src/Middleware/Push/PushMiddlewareDispatcher.php +++ b/src/Middleware/Push/PushMiddlewareDispatcher.php @@ -24,7 +24,7 @@ public function __construct( private readonly PushMiddlewareFactoryInterface $middlewareFactory, array|callable|string|PushMiddlewareInterface ...$middlewareDefinitions, ) { - $this->middlewareDefinitions = array_reverse($middlewareDefinitions); + $this->middlewareDefinitions = $middlewareDefinitions; } /** @@ -63,7 +63,7 @@ public function dispatch( public function withMiddlewares(array $middlewareDefinitions): self { $instance = clone $this; - $instance->middlewareDefinitions = array_reverse($middlewareDefinitions); + $instance->middlewareDefinitions = $middlewareDefinitions; // Fixes a memory leak. unset($instance->stack); @@ -90,7 +90,7 @@ public function withMiddlewares(array $middlewareDefinitions): self */ public function withMiddlewaresAdded(array $middlewareDefinitions): self { - return $this->withMiddlewares([...array_reverse($this->middlewareDefinitions), ...$middlewareDefinitions]); + return $this->withMiddlewares([...$this->middlewareDefinitions, ...$middlewareDefinitions]); } /** diff --git a/src/Middleware/Push/PushMiddlewareStack.php b/src/Middleware/Push/PushMiddlewareStack.php index 3593a8c0..9d6ba251 100644 --- a/src/Middleware/Push/PushMiddlewareStack.php +++ b/src/Middleware/Push/PushMiddlewareStack.php @@ -7,6 +7,9 @@ use Closure; use Yiisoft\Queue\Message\MessageInterface; +/** + * @internal + */ final class PushMiddlewareStack implements PushHandlerInterface { /** @@ -40,7 +43,7 @@ private function build(): void { $handler = $this->finishHandler; - foreach ($this->middlewares as $middleware) { + foreach (array_reverse($this->middlewares) as $middleware) { $handler = $this->wrap($middleware, $handler); }