fix: seam mutable cookie api, byte-safe noble bodies, drop header baking, coerce noble session timeout (v0.1.4)
TLSSession.set_cookie/get_cookies/clear_cookies crashed with AttributeError on both backends (they reached into self.session.cookie_jar, which curl_cffi and noble_tls sessions don't have); both backends now route the mutable cookie api through their own requests-style session.cookies store. Noble.raw_request now requests is_byte_response=True and decodes the resulting base64 data-URI body, since noble_tls's default text response silently corrupts any binary payload (image/zip/pdf) via lossy UTF-8 decoding on the Go side. CurlCffi/Noble.create_session no longer bake session-default headers into the underlying client; baking caused clear_headers()/get_headers() to lie about what's actually still on the wire (a credential-leak divergence from the aiohttp base, which never bakes). Headers flow through aioweb's per-request merge only, matching the base's documented contract. Noble.create_session now applies the same max(1, ceil()) timeout coercion raw_request already had (extracted into a shared _noble_timeout_seconds helper) — without it, a sub-second/float session-default timeout made every request fail Go-side JSON unmarshal. README corrected: dropped the 'every aioweb feature behaves identically' overclaim re: cookies, documented the binary-body handling and the no-header-baking rationale, bumped install pins to v0.1.4. Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "aioweb_tls"
|
||||
version = "0.1.3"
|
||||
version = "0.1.4"
|
||||
description = "TLS-fingerprinting backends (curl_cffi / noble_tls) for aioweb via one injectable TLSSession, config-free, installable."
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
|
||||
Reference in New Issue
Block a user