7
7
import requests
8
8
9
9
from django .db .models import F
10
+ from django .core .serializers .json import DjangoJSONEncoder
10
11
11
12
from rest_hooks_delivery .models import FailedHook
12
13
from rest_hooks_delivery .tasks import store_hook
@@ -107,15 +108,11 @@ def sync_flush(self):
107
108
108
109
client = Client ()
109
110
110
- def data_handler (obj ):
111
- return obj .isoformat () if hasattr (obj , 'isoformat' ) else obj
112
-
113
-
114
111
def retry (target , payload , instance = None , hook = None , cleanup = False , ** kwargs ):
115
112
client .post (
116
113
url = target ,
117
- data = json .dumps (payload , default = data_handler ) if not isinstance ( payload , str ) else
118
- payload ,
114
+ data = json .dumps (payload , cls = DjangoJSONEncoder )\
115
+ if not isinstance ( payload , str ) else payload ,
119
116
headers = {'Content-Type' : 'application/json' },
120
117
_hook_id = hook .pk ,
121
118
_hook_event = hook .event ,
@@ -126,8 +123,8 @@ def retry(target, payload, instance=None, hook=None, cleanup=False, **kwargs):
126
123
def batch (target , payload , instance = None , hook = None , cleanup = False , ** kwargs ):
127
124
store_hook .delay (
128
125
url = target ,
129
- data = json .dumps (payload , default = data_handler ) if not isinstance ( payload , str ) else
130
- payload ,
126
+ data = json .dumps (payload , cls = DjangoJSONEncoder )\
127
+ if not isinstance ( payload , str ) else payload ,
131
128
_hook_id = hook .pk ,
132
129
_hook_event = hook .event ,
133
130
_hook_user_id = hook .user .pk
0 commit comments