shortUrlService = $shortUrlService; $this->translator = $translator; } /** * @param Request $request * @param Response $response * @param callable|null $out * @return null|Response */ public function dispatch(Request $request, Response $response, callable $out = null) { try { $query = $request->getQueryParams(); $shortUrls = $this->shortUrlService->listShortUrls(isset($query['page']) ? $query['page'] : 1); return new JsonResponse(['shortUrls' => $this->serializePaginator($shortUrls)]); } catch (\Exception $e) { $this->logger->error('Unexpected error while listing short URLs.' . PHP_EOL . $e); return new JsonResponse([ 'error' => RestUtils::UNKNOWN_ERROR, 'message' => $this->translator->translate('Unexpected error occurred'), ], 500); } } }