avatarService = $avatarService; } /** * @param ServerRequestInterface $request * @return ResponseInterface */ public function handle(ServerRequestInterface $request): ResponseInterface { $signum = $request->getAttribute('signum', false); try { $avatarImageData = $this->avatarService->getAvatarImageData($signum); } catch (\UnexpectedValueException $e) { return new TextResponse("Avatar not found", 404); } $finfo = new finfo(FILEINFO_MIME_TYPE); $contentType = $finfo->buffer($avatarImageData); return (new TextResponse($avatarImageData, 200, [ 'content-type' => $contentType, ]))->withHeader('Expires', '0') ->withHeader('Cache-Control', 'must-revalidate'); } }