|
39 | 39 |
|
40 | 40 |
|
41 | 41 | class _CompactJSON(object): |
42 | | - """Wrapper around simplejson that strips whitespace. |
43 | | - """ |
| 42 | + """Wrapper around json module that strips whitespace.""" |
44 | 43 |
|
45 | | - def loads(self, payload): |
| 44 | + @staticmethod |
| 45 | + def loads(payload): |
46 | 46 | return json.loads(payload) |
47 | 47 |
|
48 | | - def dumps(self, obj, **kwargs): |
49 | | - return json.dumps(obj, ensure_ascii=False, separators=(',', ':'), **kwargs) |
50 | | - |
51 | | - |
52 | | -compact_json = _CompactJSON() |
| 48 | + @staticmethod |
| 49 | + def dumps(obj, **kwargs): |
| 50 | + kwargs.setdefault('ensure_ascii', False) |
| 51 | + kwargs.setdefault('separators', (',', ':')) |
| 52 | + return json.dumps(obj, **kwargs) |
53 | 53 |
|
54 | 54 |
|
55 | 55 | def want_bytes(s, encoding='utf-8', errors='strict'): |
@@ -503,8 +503,11 @@ class Serializer(object): |
503 | 503 | #: .. versionadded:: 0.14 |
504 | 504 | default_signer = Signer |
505 | 505 |
|
506 | | - def __init__(self, secret_key, salt=b'itsdangerous', serializer=None, |
507 | | - signer=None, signer_kwargs=None, serializer_kwargs=None): |
| 506 | + def __init__( |
| 507 | + self, secret_key, salt=b'itsdangerous', |
| 508 | + serializer=None, serializer_kwargs=None, |
| 509 | + signer=None, signer_kwargs=None |
| 510 | + ): |
508 | 511 | self.secret_key = want_bytes(secret_key) |
509 | 512 | self.salt = want_bytes(salt) |
510 | 513 | if serializer is None: |
@@ -662,12 +665,19 @@ class JSONWebSignatureSerializer(Serializer): |
662 | 665 | #: The default algorithm to use for signature generation |
663 | 666 | default_algorithm = 'HS256' |
664 | 667 |
|
665 | | - default_serializer = compact_json |
666 | | - |
667 | | - def __init__(self, secret_key, salt=None, serializer=None, |
668 | | - signer=None, signer_kwargs=None, serializer_kwargs=None, algorithm_name=None): |
669 | | - Serializer.__init__(self, secret_key, salt, serializer, |
670 | | - signer, signer_kwargs, serializer_kwargs) |
| 668 | + default_serializer = _CompactJSON |
| 669 | + |
| 670 | + def __init__( |
| 671 | + self, secret_key, salt=None, |
| 672 | + serializer=None, serializer_kwargs=None, |
| 673 | + signer=None, signer_kwargs=None, |
| 674 | + algorithm_name=None |
| 675 | + ): |
| 676 | + Serializer.__init__( |
| 677 | + self, secret_key=secret_key, salt=salt, |
| 678 | + serializer=serializer, serializer_kwargs=serializer_kwargs, |
| 679 | + signer=signer, signer_kwargs=signer_kwargs |
| 680 | + ) |
671 | 681 | if algorithm_name is None: |
672 | 682 | algorithm_name = self.default_algorithm |
673 | 683 | self.algorithm_name = algorithm_name |
@@ -856,12 +866,12 @@ class URLSafeSerializer(URLSafeSerializerMixin, Serializer): |
856 | 866 | safe string consisting of the upper and lowercase character of the |
857 | 867 | alphabet as well as ``'_'``, ``'-'`` and ``'.'``. |
858 | 868 | """ |
859 | | - default_serializer = compact_json |
| 869 | + default_serializer = _CompactJSON |
860 | 870 |
|
861 | 871 |
|
862 | 872 | class URLSafeTimedSerializer(URLSafeSerializerMixin, TimedSerializer): |
863 | 873 | """Works like :class:`TimedSerializer` but dumps and loads into a URL |
864 | 874 | safe string consisting of the upper and lowercase character of the |
865 | 875 | alphabet as well as ``'_'``, ``'-'`` and ``'.'``. |
866 | 876 | """ |
867 | | - default_serializer = compact_json |
| 877 | + default_serializer = _CompactJSON |
0 commit comments