mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-11 18:06:10 +00:00
aiohttp: Fix vcr_request cookies
This commit is contained in:
committed by
Kevin McCarthy
parent
5242e68cd1
commit
f9ce14d29a
@@ -197,17 +197,17 @@ def _build_cookie_header(session, cookies, cookie_header, url):
|
|||||||
if cookies is not None:
|
if cookies is not None:
|
||||||
tmp_cookie_jar = CookieJar()
|
tmp_cookie_jar = CookieJar()
|
||||||
tmp_cookie_jar.update_cookies(cookies)
|
tmp_cookie_jar.update_cookies(cookies)
|
||||||
req_cookies = tmp_cookie_jar.filter_cookies(request_url)
|
req_cookies = tmp_cookie_jar.filter_cookies(url)
|
||||||
if req_cookies:
|
if req_cookies:
|
||||||
all_cookies.load(req_cookies)
|
all_cookies.load(req_cookies)
|
||||||
|
|
||||||
if not all_cookies:
|
if not all_cookies and not cookie_header:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
c = SimpleCookie()
|
c = SimpleCookie()
|
||||||
if cookie_header:
|
if cookie_header:
|
||||||
c.load(cookie_header)
|
c.load(cookie_header)
|
||||||
for name, value in all_cookies:
|
for name, value in all_cookies.items():
|
||||||
if isinstance(value, Morsel):
|
if isinstance(value, Morsel):
|
||||||
mrsl_val = value.get(value.key, Morsel())
|
mrsl_val = value.get(value.key, Morsel())
|
||||||
mrsl_val.set(value.key, value.value, value.coded_value)
|
mrsl_val.set(value.key, value.value, value.coded_value)
|
||||||
@@ -237,19 +237,17 @@ def vcr_request(cassette, real_request):
|
|||||||
params[k] = str(v)
|
params[k] = str(v)
|
||||||
request_url = URL(url).with_query(params)
|
request_url = URL(url).with_query(params)
|
||||||
|
|
||||||
c_header = self.headers.pop(hdrs.COOKIE, None)
|
c_header = headers.pop(hdrs.COOKIE, None)
|
||||||
cookies_header = _build_cookie_header(
|
cookie_header = _build_cookie_header(
|
||||||
self, cookies, c_header, request_url
|
self, cookies, c_header, request_url
|
||||||
)
|
)
|
||||||
if cookies_header:
|
if cookie_header:
|
||||||
self.headers[hdrs.COOKIE] = cookies_header
|
headers[hdrs.COOKIE] = cookie_header
|
||||||
|
|
||||||
vcr_request = Request(method, str(request_url), data, headers)
|
vcr_request = Request(method, str(request_url), data, headers)
|
||||||
|
|
||||||
if cassette.can_play_response_for(vcr_request):
|
if cassette.can_play_response_for(vcr_request):
|
||||||
response = play_responses(cassette, vcr_request)
|
response = play_responses(cassette, vcr_request)
|
||||||
for resp in response.history:
|
|
||||||
self._cookie_jar.update_cookies(resp.cookies, resp.url)
|
|
||||||
self._cookie_jar.update_cookies(response.cookies, response.url)
|
self._cookie_jar.update_cookies(response.cookies, response.url)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user