Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit d438b98

Browse files
committed
payload-string-serializer
Returns the iso format for non-string payloads of JSON serializer in deliverer methods.
1 parent 21c5e2d commit d438b98

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

rest_hooks_delivery/deliverers.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,14 @@ def sync_flush(self):
107107

108108
client = Client()
109109

110+
def data_handler(obj):
111+
return obj.isoformat() if hasattr(obj, 'isoformat') else obj
112+
110113

111114
def retry(target, payload, instance=None, hook=None, cleanup=False, **kwargs):
112115
client.post(
113116
url=target,
114-
data=json.dumps(payload) if not isinstance(payload, str) else
117+
data=json.dumps(payload, default=data_handler) if not isinstance(payload, str) else
115118
payload,
116119
headers={'Content-Type': 'application/json'},
117120
_hook_id=hook.pk,
@@ -123,7 +126,7 @@ def retry(target, payload, instance=None, hook=None, cleanup=False, **kwargs):
123126
def batch(target, payload, instance=None, hook=None, cleanup=False, **kwargs):
124127
store_hook.delay(
125128
url=target,
126-
data=json.dumps(payload) if not isinstance(payload, str) else
129+
data=json.dumps(payload, default=data_handler) if not isinstance(payload, str) else
127130
payload,
128131
_hook_id=hook.pk,
129132
_hook_event=hook.event,

0 commit comments

Comments
 (0)