protected function registerUrlHandlers() { parent::registerUrlHandlers(); // Add a simple home page URL handler. We're using one of the simplest handlers the // ClassMappedUrlHandler, but you should look at the other handlers particularly // the MvpUrlHandler and CrudUrlHandler $login = new ClassMappedUrlHandler(__NAMESPACE__ . '\\Presenters\\IndexPresenter'); $login->setPriority(11); $this->addUrlHandlers(["/" => new ClassMappedUrlHandler('\\Your\\WebApp\\Presenters\\IndexPresenter', ['portal/' => new ClassMappedUrlHandler('Your\\WebApp\\Presenters\\Portal\\PortalPresenter', ['gallery/' => new CrudUrlHandler('Gallery', 'Your\\WebApp\\Presenters\\Gallery', ['change']), 'image/' => new CrudUrlHandler('Image', 'Your\\WebApp\\Presenters\\Image'), 'users/' => new ClassMappedUrlHandler(UsersPresenter::class), 'logout/' => new ClassMappedUrlHandler('Your\\WebApp\\Presenters\\Logout\\LogoutPresenter')]), 'img/' => new ImageUrlHandler(ImgPresenter::class), 'users/' => new CrudUrlHandler('CustomUser', 'Your\\WebApp\\Presenters\\MyProfile')]), "/login/" => $login]); }
public function testUrlHandled() { $request = new WebRequest(); $request->UrlPath = "/wrong/path/"; $handler = new ClassMappedUrlHandler("\\Rhubarb\\Crown\\Tests\\UrlHandlers\\TestTarget"); $handler->setUrl("/right/path/"); $response = $handler->generateResponse($request); $this->assertFalse($response); $request = new WebRequest(); $request->UrlPath = "/right/path/"; $response = $handler->generateResponse($request); $this->assertEquals("bing bang bong", $response->getContent()); }
public function testChildHandler() { $child = new ClassMappedUrlHandler("Rhubarb\\Crown\\Tests\\UrlHandlers\\Fixtures\\NamespaceMappedHandlerTests\\SubFolder\\ObjectB"); $parent = new ClassMappedUrlHandler("Rhubarb\\Crown\\Tests\\UrlHandlers\\Fixtures\\NamespaceMappedHandlerTests\\ObjectA", ["child/" => $child]); $parent->setUrl("/parent/"); $request = new WebRequest(); $request->UrlPath = "/parent/child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectB Response", $response); $request->UrlPath = "/parent/not-child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectA Response", $response); $request->UrlPath = "/not-parent/not-child/"; $response = $parent->generateResponse($request); $this->assertFalse($response); }
public function testChildHandler() { $child = new ClassMappedUrlHandler(ObjectB::class); $parent = new ClassMappedUrlHandler(ObjectA::class, ["child/" => $child]); $parent->setUrl("/parent/"); $request = new WebRequest(); $request->urlPath = "/parent/child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectB Response", $response); $request->urlPath = "/parent/not-child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectA Response", $response); $request->urlPath = "/not-parent/not-child/"; $response = $parent->generateResponse($request); $this->assertFalse($response); }
public function generateResponseForRequest($request = null) { HttpHeaders::setContentType('application/download'); return parent::generateResponseForRequest($request); }