2 declare(strict_types = 1);
18 use Psr\Http\Message\ResponseInterface;
19 use Psr\Http\Message\ServerRequestInterface;
44 public function render(ServerRequestInterface $request): ResponseInterface
49 $parameters[
'fileId'] ??
null,
50 $parameters[
'configuration'] ?? []
66 $expectedHash = GeneralUtility::hmac(
67 $queryParameters[
'parameters'] ??
'',
68 ThumbnailController::class
70 if (!hash_equals($expectedHash, $queryParameters[
'hmac'] ??
'')) {
71 throw new \InvalidArgumentException(
72 'HMAC could not be verified',
77 return json_decode($queryParameters[
'parameters'] ??
null,
true);
86 protected function generateThumbnail($fileId, array $configuration): ResponseInterface
89 if (empty($file) || $file->isMissing()) {
95 $processingConfiguration,
99 $processedImage = $file->process(
101 $processingConfiguration
103 $filePath = $processedImage->getForLocalProcessing(
false);
105 'Content-Type' => $processedImage->getMimeType()