(self, stat_result: os.stat_result)
| 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) |
| 332 | last_modified = formatdate(stat_result.st_mtime, usegmt=True) |
| 333 | etag_base = str(stat_result.st_mtime) + "-" + str(stat_result.st_size) |
| 334 | etag = f'"{hashlib.md5(etag_base.encode(), usedforsecurity=False).hexdigest()}"' |
| 335 | |
| 336 | self.headers.setdefault("content-length", content_length) |
| 337 | self.headers.setdefault("last-modified", last_modified) |
| 338 | self.headers.setdefault("etag", etag) |
| 339 | |
| 340 | async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: |
| 341 | scope_type = scope["type"] |
no test coverage detected