options->enabledForDisabledShortUrls ? $this->urlResolver->resolvePublicShortUrl($identifier) : $this->urlResolver->resolveEnabledShortUrl($identifier); } catch (ShortUrlNotFoundException $e) { $this->logger->warning('An error occurred while creating QR code. {e}', ['e' => $e]); return $handler->handle($request); } $params = QrCodeParams::fromRequest($request, $this->options); $qrCodeBuilder = new Builder( writer: $params->writer, data: $this->stringifier->stringify($shortUrl), errorCorrectionLevel: $params->errorCorrectionLevel, size: $params->size, margin: $params->margin, roundBlockSizeMode: $params->roundBlockSizeMode, foregroundColor: $params->color, backgroundColor: $params->bgColor, ); return new QrCodeResponse($this->buildQrCode($qrCodeBuilder, $params)); } private function buildQrCode(Builder $qrCodeBuilder, QrCodeParams $params): ResultInterface { $logoUrl = $this->options->logoUrl; if ($logoUrl === null) { return $qrCodeBuilder->build(); } return $qrCodeBuilder->build( logoPath: $logoUrl, logoResizeToHeight: (int) ($params->size / 4), ); } }