urlResolver->resolveEnabledShortUrl($identifier); $this->requestTracker->trackIfApplicable($shortUrl, $request); return $this->createSuccessResp($shortUrl, $request); } catch (ShortUrlNotFoundException) { return $this->createErrorResp($request, $handler); } } abstract protected function createSuccessResp( ShortUrl $shortUrl, ServerRequestInterface $request, ): ResponseInterface; protected function createErrorResp(ServerRequestInterface $request, RequestHandlerInterface $handler): Response { return $handler->handle($request); } }