Home / Function/ prepare_request() — requests Function Reference

prepare_request() — requests Function Reference

Architecture documentation for the prepare_request() function in sessions.py from the requests codebase.

Function python CoreAPI VerbHandlers calls 6 called by 1

Entity Profile

Dependency Diagram

graph TD
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d["prepare_request()"]
  b4dad953_9227_8b3f_4041_3f8f1f9f0b29["Session"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|defined in| b4dad953_9227_8b3f_4041_3f8f1f9f0b29
  71102afa_b9d8_769c_e8b8_1db9a083fa11["request()"]
  71102afa_b9d8_769c_e8b8_1db9a083fa11 -->|calls| a4eb532d_c481_9e3e_ad07_8d203ffafd2d
  fad58eac_0316_2b83_52d3_1a1829c12c66["cookiejar_from_dict()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| fad58eac_0316_2b83_52d3_1a1829c12c66
  b950528f_167e_7566_bbfa_f2e1929d1939["merge_cookies()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| b950528f_167e_7566_bbfa_f2e1929d1939
  c7dd921b_c760_ae2b_9620_0ab18f3fcf42["get_netrc_auth()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| c7dd921b_c760_ae2b_9620_0ab18f3fcf42
  dba9d4ef_b6f9_4932_f472_7c695f48234a["merge_setting()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| dba9d4ef_b6f9_4932_f472_7c695f48234a
  919b2f5b_cd12_1f69_f209_1da676f40b2d["merge_hooks()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| 919b2f5b_cd12_1f69_f209_1da676f40b2d
  3fc6c343_3d70_670f_636f_1fcab0f8a681["prepare()"]
  a4eb532d_c481_9e3e_ad07_8d203ffafd2d -->|calls| 3fc6c343_3d70_670f_636f_1fcab0f8a681
  style a4eb532d_c481_9e3e_ad07_8d203ffafd2d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/requests/sessions.py lines 458–499

    def prepare_request(self, request):
        """Constructs a :class:`PreparedRequest <PreparedRequest>` for
        transmission and returns it. The :class:`PreparedRequest` has settings
        merged from the :class:`Request <Request>` instance and those of the
        :class:`Session`.

        :param request: :class:`Request` instance to prepare with this
            session's settings.
        :rtype: requests.PreparedRequest
        """
        cookies = request.cookies or {}

        # Bootstrap CookieJar.
        if not isinstance(cookies, cookielib.CookieJar):
            cookies = cookiejar_from_dict(cookies)

        # Merge with session cookies
        merged_cookies = merge_cookies(
            merge_cookies(RequestsCookieJar(), self.cookies), cookies
        )

        # Set environment's basic authentication if not explicitly set.
        auth = request.auth
        if self.trust_env and not auth and not self.auth:
            auth = get_netrc_auth(request.url)

        p = PreparedRequest()
        p.prepare(
            method=request.method.upper(),
            url=request.url,
            files=request.files,
            data=request.data,
            json=request.json,
            headers=merge_setting(
                request.headers, self.headers, dict_class=CaseInsensitiveDict
            ),
            params=merge_setting(request.params, self.params),
            auth=merge_setting(auth, self.auth),
            cookies=merged_cookies,
            hooks=merge_hooks(request.hooks, self.hooks),
        )
        return p

Domain

Subdomains

Called By

Frequently Asked Questions

What does prepare_request() do?
prepare_request() is a function in the requests codebase, defined in src/requests/sessions.py.
Where is prepare_request() defined?
prepare_request() is defined in src/requests/sessions.py at line 458.
What does prepare_request() call?
prepare_request() calls 6 function(s): cookiejar_from_dict, get_netrc_auth, merge_cookies, merge_hooks, merge_setting, prepare.
What calls prepare_request()?
prepare_request() is called by 1 function(s): request.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free