Sends a single request, without handling any redirections.
(self, request: Request)
| 999 | raise exc |
| 1000 | |
| 1001 | def _send_single_request(self, request: Request) -> Response: |
| 1002 | """ |
| 1003 | Sends a single request, without handling any redirections. |
| 1004 | """ |
| 1005 | transport = self._transport_for_url(request.url) |
| 1006 | start = time.perf_counter() |
| 1007 | |
| 1008 | if not isinstance(request.stream, SyncByteStream): |
| 1009 | raise RuntimeError( |
| 1010 | "Attempted to send an async request with a sync Client instance." |
| 1011 | ) |
| 1012 | |
| 1013 | with request_context(request=request): |
| 1014 | response = transport.handle_request(request) |
| 1015 | |
| 1016 | assert isinstance(response.stream, SyncByteStream) |
| 1017 | |
| 1018 | response.request = request |
| 1019 | response.stream = BoundSyncStream( |
| 1020 | response.stream, response=response, start=start |
| 1021 | ) |
| 1022 | self.cookies.extract_cookies(response) |
| 1023 | response.default_encoding = self._default_encoding |
| 1024 | |
| 1025 | logger.info( |
| 1026 | 'HTTP Request: %s %s "%s %d %s"', |
| 1027 | request.method, |
| 1028 | request.url, |
| 1029 | response.http_version, |
| 1030 | response.status_code, |
| 1031 | response.reason_phrase, |
| 1032 | ) |
| 1033 | |
| 1034 | return response |
| 1035 | |
| 1036 | def get( |
| 1037 | self, |
no test coverage detected