Return response if present in cache, or None otherwise.
(self, spider: Spider, request: Request)
| 333 | pass |
| 334 | |
| 335 | def retrieve_response(self, spider: Spider, request: Request) -> Response | None: |
| 336 | """Return response if present in cache, or None otherwise.""" |
| 337 | metadata = self._read_meta(spider, request) |
| 338 | if metadata is None: |
| 339 | return None # not cached |
| 340 | rpath = Path(self._get_request_path(spider, request)) |
| 341 | with self._open(rpath / "response_body", "rb") as f: |
| 342 | body = f.read() |
| 343 | with self._open(rpath / "response_headers", "rb") as f: |
| 344 | rawheaders = f.read() |
| 345 | url = metadata["response_url"] |
| 346 | status = metadata["status"] |
| 347 | headers = Headers(headers_raw_to_dict(rawheaders)) |
| 348 | respcls = responsetypes.from_args(headers=headers, url=url, body=body) |
| 349 | return respcls(url=url, headers=headers, status=status, body=body) |
| 350 | |
| 351 | def store_response( |
| 352 | self, spider: Spider, request: Request, response: Response |
nothing calls this directly
no test coverage detected