12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /**
- * @package Grav\Common\Processors
- *
- * @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved.
- * @license MIT License; see LICENSE file for details.
- */
- namespace Grav\Common\Processors\Events;
- use Grav\Framework\RequestHandler\RequestHandler;
- use Grav\Framework\Route\Route;
- use Psr\Http\Message\ResponseInterface;
- use Psr\Http\Message\ServerRequestInterface;
- use Psr\Http\Server\MiddlewareInterface;
- use RocketTheme\Toolbox\Event\Event;
- /**
- * Class RequestHandlerEvent
- * @package Grav\Common\Processors\Events
- */
- class RequestHandlerEvent extends Event
- {
- /**
- * @return ServerRequestInterface
- */
- public function getRequest(): ServerRequestInterface
- {
- return $this->offsetGet('request');
- }
- /**
- * @return Route
- */
- public function getRoute(): Route
- {
- return $this->getRequest()->getAttribute('route');
- }
- /**
- * @return RequestHandler
- */
- public function getHandler(): RequestHandler
- {
- return $this->offsetGet('handler');
- }
- /**
- * @return ResponseInterface|null
- */
- public function getResponse(): ?ResponseInterface
- {
- return $this->offsetGet('response');
- }
- /**
- * @param ResponseInterface $response
- * @return $this
- */
- public function setResponse(ResponseInterface $response): self
- {
- $this->offsetSet('response', $response);
- $this->stopPropagation();
- return $this;
- }
- /**
- * @param string $name
- * @param MiddlewareInterface $middleware
- * @return RequestHandlerEvent
- */
- public function addMiddleware(string $name, MiddlewareInterface $middleware): self
- {
- /** @var RequestHandler $handler */
- $handler = $this['handler'];
- $handler->addMiddleware($name, $middleware);
- return $this;
- }
- }
|