diff options
author | Jordan Cook <jordan.cook@pioneer.com> | 2021-09-19 21:06:03 -0500 |
---|---|---|
committer | Jordan Cook <jordan.cook@pioneer.com> | 2021-09-20 23:33:30 -0500 |
commit | b3fc1f042e2deebcc62c1a074a02c0f90ab406ca (patch) | |
tree | 505b517e76d06b736966213f7f6e52075d9f463a /requests_cache/models | |
parent | 5605db4a84c4ee15f4406ea872aa650e31f3348f (diff) | |
download | requests-cache-b3fc1f042e2deebcc62c1a074a02c0f90ab406ca.tar.gz |
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()`
Diffstat (limited to 'requests_cache/models')
-rw-r--r-- | requests_cache/models/__init__.py | 5 | ||||
-rw-r--r-- | requests_cache/models/request.py | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/requests_cache/models/__init__.py b/requests_cache/models/__init__.py index dec305a..6ffc7ad 100644 --- a/requests_cache/models/__init__.py +++ b/requests_cache/models/__init__.py @@ -2,11 +2,12 @@ # flake8: noqa: F401 from typing import Union -from requests import PreparedRequest, Response +from requests import PreparedRequest, Request, Response from .raw_response import CachedHTTPResponse from .request import CachedRequest from .response import CachedResponse, set_response_defaults AnyResponse = Union[Response, CachedResponse] -AnyRequest = Union[PreparedRequest, CachedRequest] +AnyRequest = Union[Request, PreparedRequest, CachedRequest] +AnyPreparedRequest = Union[PreparedRequest, CachedRequest] 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() |