MCPcopy Create free account
hub / github.com/apify/crawlee-python / send_request

Method send_request

src/crawlee/http_clients/_httpx.py:185–219  ·  view source on GitHub ↗
(
        self,
        url: str,
        *,
        method: HttpMethod = 'GET',
        headers: HttpHeaders | dict[str, str] | None = None,
        payload: HttpPayload | None = None,
        session: Session | None = None,
        proxy_info: ProxyInfo | None = None,
        timeout: timedelta | None = None,
    )

Source from the content-addressed store, hash-verified

183
184 @override
185 async def send_request(
186 self,
187 url: str,
188 *,
189 method: HttpMethod = 'GET',
190 headers: HttpHeaders | dict[str, str] | None = None,
191 payload: HttpPayload | None = None,
192 session: Session | None = None,
193 proxy_info: ProxyInfo | None = None,
194 timeout: timedelta | None = None,
195 ) -> HttpResponse:
196 validate_http_url(url)
197
198 client = self._get_client(proxy_info.url if proxy_info else None)
199
200 http_request = self._build_request(
201 client=client,
202 url=url,
203 method=method,
204 headers=headers,
205 payload=payload,
206 session=session,
207 timeout=httpx.Timeout(timeout.total_seconds()) if timeout is not None else None,
208 )
209
210 try:
211 response = await client.send(http_request)
212 except httpx.TimeoutException as exc:
213 raise asyncio.TimeoutError from exc
214 except httpx.TransportError as exc:
215 if self._is_proxy_error(exc):
216 raise ProxyError from exc
217 raise
218
219 return _HttpxResponse(response)
220
221 @asynccontextmanager
222 @override

Callers 1

Calls 5

_get_clientMethod · 0.95
_build_requestMethod · 0.95
_is_proxy_errorMethod · 0.95
validate_http_urlFunction · 0.90
_HttpxResponseClass · 0.85

Tested by 1