(
self,
path: str | os.PathLike[str],
status_code: int = 200,
headers: Mapping[str, str] | None = None,
media_type: str | None = None,
background: BackgroundTask | None = None,
filename: str | None = None,
stat_result: os.stat_result | None = None,
content_disposition_type: str = "attachment",
)
| 297 | chunk_size = 64 * 1024 |
| 298 | |
| 299 | def __init__( |
| 300 | self, |
| 301 | path: str | os.PathLike[str], |
| 302 | status_code: int = 200, |
| 303 | headers: Mapping[str, str] | None = None, |
| 304 | media_type: str | None = None, |
| 305 | background: BackgroundTask | None = None, |
| 306 | filename: str | None = None, |
| 307 | stat_result: os.stat_result | None = None, |
| 308 | content_disposition_type: str = "attachment", |
| 309 | ) -> None: |
| 310 | self.path = path |
| 311 | self.status_code = status_code |
| 312 | self.filename = filename |
| 313 | if media_type is None: |
| 314 | media_type = guess_type(filename or path)[0] or "application/octet-stream" |
| 315 | self.media_type = media_type |
| 316 | self.background = background |
| 317 | self.init_headers(headers) |
| 318 | self.headers.setdefault("accept-ranges", "bytes") |
| 319 | if self.filename is not None: |
| 320 | content_disposition_filename = quote(self.filename) |
| 321 | if content_disposition_filename != self.filename: |
| 322 | content_disposition = f"{content_disposition_type}; filename*=utf-8''{content_disposition_filename}" |
| 323 | else: |
| 324 | content_disposition = f'{content_disposition_type}; filename="{self.filename}"' |
| 325 | self.headers.setdefault("content-disposition", content_disposition) |
| 326 | self.stat_result = stat_result |
| 327 | if stat_result is not None: |
| 328 | self.set_stat_headers(stat_result) |
| 329 | |
| 330 | def set_stat_headers(self, stat_result: os.stat_result) -> None: |
| 331 | content_length = str(stat_result.st_size) |
nothing calls this directly
no test coverage detected