AssetManager\Module::onDispatch PHP Method

onDispatch() public method

Callback method for dispatch and dispatch.error events.
public onDispatch ( MvcEvent $event )
$event Zend\Mvc\MvcEvent
    public function onDispatch(MvcEvent $event)
    {
        /* @var $response \Zend\Http\Response */
        $response = $event->getResponse();
        if (!method_exists($response, 'getStatusCode') || $response->getStatusCode() !== 404) {
            return;
        }
        $request = $event->getRequest();
        $serviceManager = $event->getApplication()->getServiceManager();
        $assetManager = $serviceManager->get(__NAMESPACE__ . '\\Service\\AssetManager');
        if (!$assetManager->resolvesToAsset($request)) {
            return;
        }
        $response->setStatusCode(200);
        return $assetManager->setAssetOnResponse($response);
    }

Usage Example

Beispiel #1
0
 /**
  * @covers \AssetManager\Module::onDispatch
  */
 public function testWillIgnoreInvalidResponseType()
 {
     $cliResponse = $this->getMock(ConsoleResponse::class, array(), array(), '', false);
     $mvcEvent = $this->getMock(MvcEvent::class);
     $module = new Module();
     $cliResponse->expects($this->never())->method('getStatusCode');
     $mvcEvent->expects($this->once())->method('getResponse')->will($this->returnValue($cliResponse));
     $this->assertNull($module->onDispatch($mvcEvent));
 }