Skip to content

SSLObject made available through exceptions#11553

Open
fed239 wants to merge 6 commits intoaio-libs:masterfrom
fed239:exceptions-ssl-object
Open

SSLObject made available through exceptions#11553
fed239 wants to merge 6 commits intoaio-libs:masterfrom
fed239:exceptions-ssl-object

Conversation

@fed239
Copy link

@fed239 fed239 commented Oct 2, 2025

What do these changes do?

These changes implement SSL certificate access functionality for ClientResponseError exceptions and all its subclasses.

Are there changes in behavior for the user?

No breaking changes, the implementation is backward compatible: users can now optionally access exception.ssl_object to get SSL certificate information.

Is it a substantial burden for the maintainers to support this?

Should minimal maintenance burden.

Related issue number

Fixes #10028

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes
  • If you provide code modification, please add yourself to CONTRIBUTORS.txt
    • The format is <Name> <Surname>.
    • Please keep alphabetical order, the file is sorted by names.
  • Add a new news fragment into the CHANGES/ folder
    • name it <issue_or_pr_num>.<type>.rst (e.g. 588.bugfix.rst)

    • if you don't have an issue number, change it to the pull request
      number after creating the PR

      • .bugfix: A bug fix for something the maintainers deemed an
        improper undesired behavior that got corrected to match
        pre-agreed expectations.
      • .feature: A new behavior, public APIs. That sort of stuff.
      • .deprecation: A declaration of future API removals and breaking
        changes in behavior.
      • .breaking: When something public is removed in a breaking way.
        Could be deprecated in an earlier release.
      • .doc: Notable updates to the documentation structure or build
        process.
      • .packaging: Notes for downstreams about unobvious side effects
        and tooling. Changes in the test invocation considerations and
        runtime assumptions.
      • .contrib: Stuff that affects the contributor experience. e.g.
        Running tests, building the docs, setting up the development
        environment.
      • .misc: Changes that are hard to assign to any of the above
        categories.
    • Make sure to use full sentences with correct case and punctuation,
      for example:

      Fixed issue with non-ascii contents in doctest text files
      -- by :user:`contributor-gh-handle`.

      Use the past tense or the present tense a non-imperative mood,
      referring to what's changed compared to the last released version
      of this project.

@psf-chronographer psf-chronographer bot added the bot:chronographer:provided There is a change note present in this PR label Oct 2, 2025
@bdraco
Copy link
Member

bdraco commented Oct 2, 2025

There is a bit of risk here that the ssl object now gets destroyed later if anything if holding a reference to a traceback with one of these exceptions or the exception itself. All potential paths need to be manually checked for leaks.

@codspeed-hq
Copy link

codspeed-hq bot commented Oct 2, 2025

CodSpeed Performance Report

Merging #11553 will not alter performance

Comparing fed239:exceptions-ssl-object (260404a) with master (e752b3e)1

Summary

✅ 59 untouched

Footnotes

  1. No successful run was found on master (8897fa0) during the generation of this report, so e752b3e was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@codecov
Copy link

codecov bot commented Oct 2, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
4167 1 4166 113
View the full list of 1 ❄️ flaky test(s)
tests.test_cookiejar::test_pickle_format

Flake rate in main: 7.04% (Passed 515 times, Failed 39 times)

Stack Traces | 0.141s run time
cookies_to_send = <SimpleCookie: different-domain-cookie='sixth' domain-cookie='second' dotted-domain-cookie='fifth' expires-cookie='thi...h4-cookie='twelfth' secure-cookie='seventh' shared-cookie='first' subdomain1-cookie='third' subdomain2-cookie='fourth'>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_pickle_format#x1B[39;49;00m(cookies_to_send: SimpleCookie) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Test if cookiejar pickle format breaks.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    If this test fails, it may indicate that saved cookiejars will stop working.#x1B[39;49;00m
    #x1B[33m    If that happens then:#x1B[39;49;00m
    #x1B[33m        1. Avoid releasing the change in a bugfix release.#x1B[39;49;00m
    #x1B[33m        2. Try to include a migration script in the release notes (example below).#x1B[39;49;00m
    #x1B[33m        3. Use dump_cookiejar() at the top of this file to update `pickled`.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    Depending on the changes made, a migration script might look like:#x1B[39;49;00m
    #x1B[33m        import pickle#x1B[39;49;00m
    #x1B[33m        with file_path.open("rb") as f:#x1B[39;49;00m
    #x1B[33m            cookies = pickle.load(f)#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        morsels = [(name, m) for c in cookies.values() for name, m in c.items()]#x1B[39;49;00m
    #x1B[33m        cookies.clear()#x1B[39;49;00m
    #x1B[33m        for name, m in morsels:#x1B[39;49;00m
    #x1B[33m            cookies[(m["domain"], m["path"])][name] = m#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m        with file_path.open("wb") as f:#x1B[39;49;00m
    #x1B[33m            pickle.dump(cookies, f, pickle.HIGHEST_PROTOCOL)#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        pickled = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m\x80#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33m\x95#x1B[39;49;00m#x1B[33m\xc8#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33mcollections#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33mdefaultdict#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x93#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mhttp.cookies#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mSimpleCookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x93#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x85#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mR#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33mshared-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x03#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mMorsel#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x93#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x01#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x03#x1B[39;49;00m#x1B[33mkey#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mvalue#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mfirst#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33mcoded_value#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1c#x1B[39;49;00m#x1B[33mubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33mexample.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33mdomain-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1e#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh!h#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecond#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh-ub#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x14#x1B[39;49;00m#x1B[33mdotted-domain-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0b#x1B[39;49;00m#x1B[33mexample.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh.h#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mfifth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh;ubu#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33mtest1.example.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33msubdomain1-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh<#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh?h#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mthird#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mhKubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33mtest2.example.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33msubdomain2-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mhL#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mhOh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mfourth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh[ubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33mdifferent.org#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x17#x1B[39;49;00m#x1B[33mdifferent-domain-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\\#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh_h#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33msixth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mhkubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33msecure.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33msecure-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mhl#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x88#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mhoh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mseventh#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m{#x1B[39;49;00m#x1B[33mubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0e#x1B[39;49;00m#x1B[33mno-path-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh|#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x7f#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33meighth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x8b#x1B[39;49;00m#x1B[33mub#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpath1-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mninth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x99#x1B[39;49;00m#x1B[33mubu#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33m/one#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpath2-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x9b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x9a#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x9e#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33mtenth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xaa#x1B[39;49;00m#x1B[33mubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m/one/two#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpath3-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xac#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xab#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xaf#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33meleventh#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xbb#x1B[39;49;00m#x1B[33mub#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpath4-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\t#x1B[39;49;00m#x1B[33m/one/two/#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0c#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xbc#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mtwelfth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xca#x1B[39;49;00m#x1B[33mubu#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0f#x1B[39;49;00m#x1B[33mexpirestest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0e#x1B[39;49;00m#x1B[33mexpires-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x1c#x1B[39;49;00m#x1B[33mTue, 1 Jan 2999 12:00:00 GMT#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xcb#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xce#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mthirteenth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xdb#x1B[39;49;00m#x1B[33mubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0e#x1B[39;49;00m#x1B[33mmaxagetest.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x0e#x1B[39;49;00m#x1B[33mmax-age-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xdc#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x02#x1B[39;49;00m#x1B[33m60#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xdf#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mfourteenth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xec#x1B[39;49;00m#x1B[33mubs#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x12#x1B[39;49;00m#x1B[33minvalid-values.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x86#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x05#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x16#x1B[39;49;00m#x1B[33minvalid-max-age-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xed#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xf0#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\t#x1B[39;49;00m#x1B[33mfifteenth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xfc#x1B[39;49;00m#x1B[33mub#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x16#x1B[39;49;00m#x1B[33minvalid-expires-cookie#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m)#x1B[39;49;00m#x1B[33m\x81#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mexpires#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x04#x1B[39;49;00m#x1B[33mpath#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x11#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mcomment#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33mdomain#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x12#x1B[39;49;00m#x1B[33minvalid-values.com#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mmax-age#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x06#x1B[39;49;00m#x1B[33msecure#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mhttponly#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x07#x1B[39;49;00m#x1B[33mversion#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33msamesite#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x08#x1B[39;49;00m#x1B[33mu}#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33m(h#x1B[39;49;00m#x1B[33m\x1a#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\xfd#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1b#x1B[39;49;00m#x1B[33m\x8c#x1B[39;49;00m#x1B[33m\t#x1B[39;49;00m#x1B[33msixteenth#x1B[39;49;00m#x1B[33m\x94#x1B[39;49;00m#x1B[33mh#x1B[39;49;00m#x1B[33m\x1d#x1B[39;49;00m#x1B[33mj#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m\x01#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33m\x00#x1B[39;49;00m#x1B[33mubuu.#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        cookies = pickle.loads(pickled)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        cj = CookieJar()#x1B[90m#x1B[39;49;00m
        cj.update_cookies(cookies_to_send)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       #x1B[94massert#x1B[39;49;00m cookies == cj._cookies#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       AssertionError: assert defaultdict(<...'fifteenth'>}) == defaultdict(<...'fifteenth'>})#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m
#x1B[1m#x1B[31mE         Differing items:#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mdifferent.org#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: different-domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msixth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mdifferent.org#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: different-domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msixth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mexample.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msecond#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m dotted-domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfifth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mexample.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msecond#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m dotted-domain-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfifth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: shared-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfirst#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: shared-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfirst#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mexpirestest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: expires-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mthirteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mexpirestest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: expires-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mthirteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m/one#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: path2-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mtenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m/one#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: path2-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mtenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33minvalid-values.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: invalid-expires-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msixteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m invalid-#x1B[96mmax#x1B[39;49;00m-age-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfifteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33minvalid-values.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: invalid-expires-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33msixteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m invalid-#x1B[96mmax#x1B[39;49;00m-age-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfifteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mmaxagetest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: #x1B[96mmax#x1B[39;49;00m-age-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfourteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mmaxagetest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: #x1B[96mmax#x1B[39;49;00m-age-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfourteenth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mtest2.example.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: subdomain2-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfourth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mtest2.example.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: subdomain2-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mfourth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mtest1.example.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: subdomain1-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mthird#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mtest1.example.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: subdomain1-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mthird#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33msecure.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: secure-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mseventh#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33msecure.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: secure-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mseventh#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m/one/two#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: path3-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33meleventh#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m path4-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mtwelfth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m/one/two#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: path3-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33meleventh#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m path4-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mtwelfth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: no-path-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33meighth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m path1-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mninth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m != #x1B[0m{(#x1B[33m'#x1B[39;49;00m#x1B[33mpathtest.com#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, #x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m): <SimpleCookie: no-path-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33meighth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m path1-cookie=#x1B[33m'#x1B[39;49;00m#x1B[33mninth#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m>}#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m
#x1B[1m#x1B[31mE         Full diff:#x1B[0m
#x1B[1m#x1B[31mE         #x1B[0m#x1B[90m #x1B[39;49;00m defaultdict(<class 'http.cookies.SimpleCookie'>, {#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('', ''): <SimpleCookie: shared-cookie='first'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('different.org', ''): <SimpleCookie: different-domain-cookie='sixth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('example.com', ''): <SimpleCookie: domain-cookie='second' dotted-domain-cookie='fifth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('expirestest.com', ''): <SimpleCookie: expires-cookie='thirteenth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('invalid-values.com', ''): <SimpleCookie: invalid-expires-cookie='sixteenth' invalid-max-age-cookie='fifteenth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('maxagetest.com', ''): <SimpleCookie: max-age-cookie='fourteenth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('pathtest.com', ''): <SimpleCookie: no-path-cookie='eighth' path1-cookie='ninth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('pathtest.com', '/one'): <SimpleCookie: path2-cookie='tenth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('pathtest.com', '/one/two'): <SimpleCookie: path3-cookie='eleventh' path4-cookie='twelfth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('secure.com', ''): <SimpleCookie: secure-cookie='seventh'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('test1.example.com', ''): <SimpleCookie: subdomain1-cookie='third'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m     ('test2.example.com', ''): <SimpleCookie: subdomain2-cookie='fourth'>,#x1B[90m#x1B[39;49;00m#x1B[0m
#x1B[1m#x1B[31mE         #x1B[90m #x1B[39;49;00m })#x1B[90m#x1B[39;49;00m#x1B[0m

cj         = <aiohttp.cookiejar.CookieJar object at 0x7fd0da83cef0>
cookies    = defaultdict(<class 'http.cookies.SimpleCookie'>, {('', ''): <SimpleCookie: shared-cookie='first'>, ('example.com', '')...'>, ('invalid-values.com', ''): <SimpleCookie: invalid-expires-cookie='sixteenth' invalid-max-age-cookie='fifteenth'>})
cookies_to_send = <SimpleCookie: different-domain-cookie='sixth' domain-cookie='second' dotted-domain-cookie='fifth' expires-cookie='thi...h4-cookie='twelfth' secure-cookie='seventh' shared-cookie='first' subdomain1-cookie='third' subdomain2-cookie='fourth'>
pickled    = b'\x80\x04\x95\xc8\x0b\x00\x00\x00\x00\x00\x00\x8c\x0bcollections\x94\x8c\x0bdefaultdict\x94\x93\x94\x8c\x0chttp.cooki...x08\x8c\x07version\x94h\x08\x8c\x08samesite\x94h\x08u}\x94(h\x1ah\xfdh\x1b\x8c\tsixteenth\x94h\x1dj\n\x01\x00\x00ubuu.'

#x1B[1m#x1B[31mtests/test_cookiejar.py#x1B[0m:1058: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link
Member

@webknjaz webknjaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not expose public interfaces for high-level things one might want to access. Isn't saving an SSLContext a leaky abstraction?


try:
return transport.get_extra_info("ssl_object")
except Exception:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that suppressing arbitrary exceptions is a good idea. There's a very small number of cases where this is acceptable in general.

Comment on lines +108 to +109
connection: Optional[Union["Connection", object]],
) -> Optional[object]:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optionals are considered confusing, use unions instead. Also, None is an object. So None | object is just object. Plus accepting arbitrary objects in args isn't a great idea.

status: Optional[int] = None,
message: str = "",
headers: Optional[MultiMapping[str]] = None,
ssl_object: Optional[object] = None,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be an arbitrary object.

@webknjaz webknjaz requested a review from Dreamsorcerer October 3, 2025 14:36
@Dreamsorcerer
Copy link
Member

There is a bit of risk here that the ssl object now gets destroyed later if anything if holding a reference to a traceback with one of these exceptions or the exception itself. All potential paths need to be manually checked for leaks.

Delaying on this. The other comments can be easily resolved (I don't mind fixing the typing, for example).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:provided There is a change note present in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Possibility to get peer certificate when ClientResponseError is raised

4 participants