|
9 | 9 | ''' |
10 | 10 |
|
11 | 11 | import requests_cache |
12 | | - |
13 | 12 | import hashlib |
14 | | -def create_key(self, request): |
15 | | - try: |
16 | | - if self._ignored_parameters: |
17 | | - url, body = self._remove_ignored_parameters(request) |
18 | | - else: |
| 13 | + |
| 14 | +rc_version_info = tuple(int(x) for x in requests_cache.__version__.split('.')) |
| 15 | +# patch only older versions than '0.6.0' |
| 16 | +if rc_version_info < (0, 6, 0): |
| 17 | + def create_key(self, request): |
| 18 | + try: |
| 19 | + if self._ignored_parameters: |
| 20 | + url, body = self._remove_ignored_parameters(request) |
| 21 | + else: |
| 22 | + url, body = request.url, request.body |
| 23 | + except AttributeError: |
19 | 24 | url, body = request.url, request.body |
20 | | - except AttributeError: |
21 | | - url, body = request.url, request.body |
22 | | - key = hashlib.sha256() |
23 | | - key.update(requests_cache.backends.base._to_bytes(request.method.upper())) |
24 | | - key.update(requests_cache.backends.base._to_bytes(url)) |
25 | | - if request.body: |
26 | | - key.update(requests_cache.backends.base._to_bytes(body)) |
27 | | - else: |
28 | | - if self._include_get_headers and request.headers != requests_cache.backends.base._DEFAULT_HEADERS: |
29 | | - for name, value in sorted(request.headers.items()): |
30 | | - # include only Accept-Language as it is important for context |
31 | | - if name in ['Accept-Language']: |
32 | | - key.update(requests_cache.backends.base._to_bytes(name)) |
33 | | - key.update(requests_cache.backends.base._to_bytes(value)) |
34 | | - return key.hexdigest() |
| 25 | + key = hashlib.sha256() |
| 26 | + key.update(requests_cache.backends.base._to_bytes(request.method.upper())) |
| 27 | + key.update(requests_cache.backends.base._to_bytes(url)) |
| 28 | + if request.body: |
| 29 | + key.update(requests_cache.backends.base._to_bytes(body)) |
| 30 | + else: |
| 31 | + if self._include_get_headers and request.headers != requests_cache.backends.base._DEFAULT_HEADERS: |
| 32 | + for name, value in sorted(request.headers.items()): |
| 33 | + # include only Accept-Language as it is important for context |
| 34 | + if name in ['Accept-Language']: |
| 35 | + key.update(requests_cache.backends.base._to_bytes(name)) |
| 36 | + key.update(requests_cache.backends.base._to_bytes(value)) |
| 37 | + return key.hexdigest() |
35 | 38 |
|
36 | | -requests_cache.backends.base.BaseCache.create_key = create_key |
| 39 | + requests_cache.backends.base.BaseCache.create_key = create_key |
0 commit comments