From b3fc1f042e2deebcc62c1a074a02c0f90ab406ca Mon Sep 17 00:00:00 2001 From: Jordan Cook Date: Sun, 19 Sep 2021 21:06:03 -0500 Subject: Reorganize & improve request normalization functions: * Handle all normalization in `cache_keys` module, get rid of `normalize_dict()` function used in `CachedSession` * Reorganize `cache_keys` helper functions into the following: * `normalize_request()` * `normalize_url()` * `normalize_headers()` * `normalize_params()` * `normalize_body()` * `normalize_json_body()` * `redact_response()` --- requests_cache/models/request.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'requests_cache/models/request.py') diff --git a/requests_cache/models/request.py b/requests_cache/models/request.py index 46951fc..dbeddd0 100644 --- a/requests_cache/models/request.py +++ b/requests_cache/models/request.py @@ -1,6 +1,6 @@ from logging import getLogger -from attr import define, field, fields_dict +from attr import asdict, define, field, fields_dict from requests import PreparedRequest from requests.cookies import RequestsCookieJar from requests.structures import CaseInsensitiveDict @@ -27,6 +27,10 @@ class CachedRequest: kwargs['cookies'] = getattr(original_request, '_cookies', None) return cls(**kwargs) + def copy(self) -> 'CachedRequest': + """Return a copy of the CachedRequest""" + return self.__class__(**asdict(self)) + def prepare(self) -> PreparedRequest: """Convert the CachedRequest back into a PreparedRequest""" prepared_request = PreparedRequest() -- cgit v1.2.1