/** * @private * @param MvcEvent $event * @return void */ public function onError(MvcEvent $event) { // Do nothing if no error or if response is not HTTP response if (!$event->getParam('exception') instanceof UnauthorizedExceptionInterface || $event->getResult() instanceof HttpResponse || !$event->getResponse() instanceof HttpResponse) { return; } $model = new ViewModel(); $model->setTemplate($this->options->getTemplate()); switch ($event->getError()) { case GuardInterface::GUARD_UNAUTHORIZED: $model->setVariable('error', GuardInterface::GUARD_UNAUTHORIZED); break; default: } $response = $event->getResponse() ?: new HttpResponse(); $response->setStatusCode(403); $event->setResponse($response); $event->setResult($model); }
public function testSettersAndGetters() { $unauthorizedStrategyOptions = new UnauthorizedStrategyOptions(['template' => 'error/unauthorized']); $this->assertEquals('error/unauthorized', $unauthorizedStrategyOptions->getTemplate()); }