code: def __init__(
      self,
      path: str | os.PathLike,
      range: OpenRange,
      headers: dict[str, str] | None = None,
      media_type: str | None = None,
      filename: str | None = None,
      stat_result: os.stat_result | None = None,
      method: str | None = None,
  ) -> None:
      if aiofiles is None:
          raise ModuleNotFoundError(
              "'aiofiles' must be installed to use FileResponse"
          )
      self.path = path
      self.range = range
      self.filename = filename
      self.background = None
      self.send_header_only = (
          method is not None and method.upper() == "HEAD"
      )
      if media_type is None:
          media_type = guess_type(filename or path)[0] or "text/plain"
      self.media_type = media_type
      self.init_headers(headers or {})
      if self.filename is not None:
          content_disposition_filename = quote(self.filename)
          if content_disposition_filename != self.filename:
              content_disposition = f"attachment; filename*=utf-8''{content_disposition_filename}"
          else:
              content_disposition = (
                  f'attachment; filename="{self.filename}"'
              )
          self.headers.setdefault(
              "content-disposition", content_disposition
          )
      self.stat_result = stat_result
  
imports: from __future__ import annotations
  import os
  import re
  import stat
  from typing import NamedTuple
  from urllib.parse import quote
  import aiofiles
  from aiofiles.os import stat
  from starlette.datastructures import Headers
  from starlette.exceptions import HTTPException
  from starlette.responses import Response, guess_type
  from starlette.staticfiles import StaticFiles
  from starlette.types import Receive, Scope, Send
label_desc: Use image node_id 1 to create a new RangedFileResponse object from inherited base classes: Response with example: obj = RangedFileResponse(path, range, headers, media_type, filename, stat_result, method)