Example #1
0
 /**
  * @param AuthorQuery $query
  */
 public function handle(AuthorQuery $query)
 {
     try {
         $this->guardAuthorNameIsValid($query->getAuthorName());
         $authorTemplate = $this->getAuthorTemplate($query->getAuthorName());
         (new ThemePage('Blog/Read/Pages/Authors/' . $authorTemplate, []))->respond();
     } catch (AuthorNotFound $e) {
         $requestInfo = $query->getRequestInfo();
         $page = new ThemePage('Blog/Read/Pages/Error404.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     }
 }
Example #2
0
 /**
  * @param AbstractQuery $query
  */
 public function handle(AbstractQuery $query)
 {
     try {
         $books = $this->bookReadService->getAllBooks();
         $posts = $this->blogPostReadService->getAllPosts();
         $page = new ThemePage('Posts/Read/Pages/Abstract.twig', ['books' => $books, 'posts' => $posts]);
         $page->respond();
     } catch (BlogException $e) {
         $requestInfo = $query->getRequestInfo();
         $page = new ThemePage('Blog/Read/Pages/Error500.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     }
 }
Example #3
0
 /**
  * @param ShowPostQuery $query
  */
 public function handle(ShowPostQuery $query)
 {
     $requestInfo = $query->getRequestInfo();
     try {
         $postData = $this->blogPostReadService->getPostDataByUrl($requestInfo->getUri());
         $previousPost = $this->blogPostReadService->getPreviousPostOf($postData);
         $nextPost = $this->blogPostReadService->getNextPostOf($postData);
         $page = new ThemePage('Posts/Read/Pages/ShowPost.twig', ['post' => $postData, 'previous' => $previousPost, 'next' => $nextPost]);
         $page->respond();
     } catch (BlogPostDataNotFound $e) {
         $page = new ThemePage('Blog/Read/Pages/Error404.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     }
 }
Example #4
0
 /**
  * @param \Exception $exception
  *
  * @throws \Exception
  */
 public function handleUncaughtException(\Exception $exception)
 {
     echo '<pre>', htmlspecialchars(print_r($exception, 1)), '</pre>';
     exit;
     try {
         throw $exception;
     } catch (MalformedRequestUri $e) {
         $requestInfo = RequestInfo::fromEnv();
         $page = new ThemePage('Blog/Read/Pages/Error404.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     } catch (\Exception $e) {
         $requestInfo = RequestInfo::fromEnv();
         $page = new ThemePage('Blog/Read/Pages/Error500.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     }
 }