(self, request: Request)
| 176 | |
| 177 | # passed as download_func into self.middleware.download() in self.fetch() |
| 178 | async def _enqueue_request(self, request: Request) -> Response: |
| 179 | key, slot = self._get_slot(request) |
| 180 | request.meta[self.DOWNLOAD_SLOT] = key |
| 181 | slot.active.add(request) |
| 182 | self.signals.send_catch_log( |
| 183 | signal=signals.request_reached_downloader, |
| 184 | request=request, |
| 185 | spider=self.crawler.spider, |
| 186 | ) |
| 187 | d: Deferred[Response] = Deferred() |
| 188 | slot.queue.append((request, d)) |
| 189 | self._process_queue(slot) |
| 190 | try: |
| 191 | return await maybe_deferred_to_future(d) # fired in _wait_for_download() |
| 192 | finally: |
| 193 | slot.active.remove(request) |
| 194 | |
| 195 | def _process_queue(self, slot: Slot) -> None: |
| 196 | if slot.latercall: |
nothing calls this directly
no test coverage detected