diff --git a/libs/micropython/jwt.py b/libs/micropython/jwt.py index a6a4851..7ec1172 100644 --- a/libs/micropython/jwt.py +++ b/libs/micropython/jwt.py @@ -1,13 +1,9 @@ import binascii import hashlib import hmac +import json from time import time -try: - import orjson as json -except ImportError: - import json - def _to_b64url(data): return ( binascii.b2a_base64(data) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 102b04f..ba2bae0 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -578,9 +578,9 @@ class Response: self.headers = NoCaseDict(headers or {}) self.reason = reason if isinstance(body, (dict, list)): - self.body = json.dumps(body).encode() + body = json.dumps(body) self.headers['Content-Type'] = 'application/json; charset=UTF-8' - elif isinstance(body, str): + if isinstance(body, str): self.body = body.encode() else: # this applies to bytes, file-like objects or generators diff --git a/src/microdot/sse.py b/src/microdot/sse.py index fdfa73e..2c4ff08 100644 --- a/src/microdot/sse.py +++ b/src/microdot/sse.py @@ -29,8 +29,8 @@ class SSE: given, it must be a string. """ if isinstance(data, (dict, list)): - data = json.dumps(data).encode() - elif isinstance(data, str): + data = json.dumps(data) + if isinstance(data, str): data = data.encode() elif not isinstance(data, bytes): data = str(data).encode() diff --git a/src/microdot/test_client.py b/src/microdot/test_client.py index c08ae59..0f2d0fc 100644 --- a/src/microdot/test_client.py +++ b/src/microdot/test_client.py @@ -105,10 +105,10 @@ class TestClient: if body is None: body = b'' elif isinstance(body, (dict, list)): - body = json.dumps(body).encode() + body = json.dumps(body) if 'Content-Type' not in headers: # pragma: no cover headers['Content-Type'] = 'application/json' - elif isinstance(body, str): + if isinstance(body, str): body = body.encode() if body and 'Content-Length' not in headers: headers['Content-Length'] = str(len(body))