Improve onRequestHandlerInit event

This commit is contained in:
Matias Griese
2019-02-11 13:18:32 +02:00
parent 2adb13ac66
commit 4e38c1fe25
2 changed files with 23 additions and 2 deletions

View File

@@ -10,12 +10,33 @@
namespace Grav\Common\Processors\Events;
use Grav\Framework\RequestHandler\RequestHandler;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use RocketTheme\Toolbox\Event\Event;
class RequestHandlerEvent extends Event
{
public function addMiddleware($name, MiddlewareInterface $middleware)
/**
* @return RequestInterface
*/
public function getRequest(): RequestInterface
{
return $this->offsetGet('request');
}
/**
* @return RequestHandler
*/
public function getHandler(): RequestHandler
{
return $this->offsetGet('handler');
}
/**
* @param string $name
* @param MiddlewareInterface $middleware
*/
public function addMiddleware(string $name, MiddlewareInterface $middleware): void
{
/** @var RequestHandler $handler */
$handler = $this['handler'];

View File

@@ -28,7 +28,7 @@ class RequestProcessor extends ProcessorBase
->withAttribute('route', Uri::getCurrentRoute())
->withAttribute('referrer', $this->container['uri']->referrer());
$event = new RequestHandlerEvent(['handler' => $handler]);
$event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
$this->container->fireEvent('onRequestHandlerInit', $event);
$this->stopTimer();