MCPcopy
hub / github.com/encode/httpx / build_request

Method build_request

httpx/_client.py:340–389  ·  view source on GitHub ↗

Build and return a request instance. * The `params`, `headers` and `cookies` arguments are merged with any values set on the client. * The `url` argument is merged with any `base_url` set on the client. See also: [Request instances][0] [0]: /advanc

(
        self,
        method: str,
        url: URL | str,
        *,
        content: RequestContent | None = None,
        data: RequestData | None = None,
        files: RequestFiles | None = None,
        json: typing.Any | None = None,
        params: QueryParamTypes | None = None,
        headers: HeaderTypes | None = None,
        cookies: CookieTypes | None = None,
        timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
        extensions: RequestExtensions | None = None,
    )

Source from the content-addressed store, hash-verified

338 self._params = QueryParams(params)
339
340 def build_request(
341 self,
342 method: str,
343 url: URL | str,
344 *,
345 content: RequestContent | None = None,
346 data: RequestData | None = None,
347 files: RequestFiles | None = None,
348 json: typing.Any | None = None,
349 params: QueryParamTypes | None = None,
350 headers: HeaderTypes | None = None,
351 cookies: CookieTypes | None = None,
352 timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
353 extensions: RequestExtensions | None = None,
354 ) -> Request:
355 """
356 Build and return a request instance.
357
358 * The `params`, `headers` and `cookies` arguments
359 are merged with any values set on the client.
360 * The `url` argument is merged with any `base_url` set on the client.
361
362 See also: [Request instances][0]
363
364 [0]: /advanced/clients/#request-instances
365 """
366 url = self._merge_url(url)
367 headers = self._merge_headers(headers)
368 cookies = self._merge_cookies(cookies)
369 params = self._merge_queryparams(params)
370 extensions = {} if extensions is None else extensions
371 if "timeout" not in extensions:
372 timeout = (
373 self.timeout
374 if isinstance(timeout, UseClientDefault)
375 else Timeout(timeout)
376 )
377 extensions = dict(**extensions, timeout=timeout.as_dict())
378 return Request(
379 method,
380 url,
381 content=content,
382 data=data,
383 files=files,
384 json=json,
385 params=params,
386 headers=headers,
387 cookies=cookies,
388 extensions=extensions,
389 )
390
391 def _merge_url(self, url: URL | str) -> URL:
392 """

Callers 15

requestMethod · 0.80
streamMethod · 0.80
requestMethod · 0.80
streamMethod · 0.80
test_next_requestFunction · 0.80
test_async_next_requestFunction · 0.80
test_build_requestFunction · 0.80
test_build_post_requestFunction · 0.80
test_merge_absolute_urlFunction · 0.80
test_merge_relative_urlFunction · 0.80

Calls 7

_merge_urlMethod · 0.95
_merge_headersMethod · 0.95
_merge_cookiesMethod · 0.95
_merge_queryparamsMethod · 0.95
TimeoutClass · 0.85
RequestClass · 0.85
as_dictMethod · 0.80