15
15
import copy
16
16
import logging
17
17
from peasant import get_version
18
- from peasant .client .transport import Transport
18
+ from peasant .client .transport import (METHOD_DELETE , METHOD_GET , METHOD_HEAD ,
19
+ METHOD_OPTIONS , METHOD_PATCH ,
20
+ METHOD_POST , METHOD_PUT , Transport )
19
21
20
22
logger = logging .getLogger (__name__ )
21
23
@@ -58,6 +60,11 @@ def get_headers(self, **kwargs):
58
60
headers .update (_headers )
59
61
return headers
60
62
63
+ def update_kwargs (self , method , ** kwargs ):
64
+ if self .kwargs_updater is None :
65
+ return kwargs
66
+ return self .kwargs_updater (method , ** kwargs )
67
+
61
68
def delete (self , path : str , ** kwargs ):
62
69
""" Sends a delete method with basic headers.
63
70
@@ -67,6 +74,7 @@ def delete(self, path: str, **kwargs):
67
74
:return: :class:`requests.Response <Response>` object
68
75
:rtype: requests.Response
69
76
"""
77
+ self .update_kwargs ("DELETE" , ** kwargs )
70
78
url = self .get_url (path , ** kwargs )
71
79
headers = self .get_headers (** kwargs )
72
80
kwargs ['headers' ] = headers
@@ -83,6 +91,7 @@ def get(self, path, **kwargs):
83
91
:return: :class:`requests.Response <Response>` object
84
92
:rtype: requests.Response
85
93
"""
94
+ self .update_kwargs (METHOD_GET , ** kwargs )
86
95
url = self .get_url (path , ** kwargs )
87
96
headers = self .get_headers (** kwargs )
88
97
kwargs ['headers' ] = headers
@@ -99,6 +108,7 @@ def head(self, path, **kwargs):
99
108
:return: :class:`requests.Response <Response>` object
100
109
:rtype: requests.Response
101
110
"""
111
+ self .update_kwargs (METHOD_HEAD , ** kwargs )
102
112
url = self .get_url (path , ** kwargs )
103
113
headers = self .get_headers (** kwargs )
104
114
kwargs ['headers' ] = headers
@@ -115,6 +125,7 @@ def options(self, path, **kwargs):
115
125
:return: :class:`requests.Response <Response>` object
116
126
:rtype: requests.Response
117
127
"""
128
+ self .update_kwargs (METHOD_OPTIONS , ** kwargs )
118
129
url = self .get_url (path , ** kwargs )
119
130
headers = self .get_headers (** kwargs )
120
131
kwargs ['headers' ] = headers
@@ -131,6 +142,7 @@ def patch(self, path, **kwargs):
131
142
:return: :class:`requests.Response <Response>` object
132
143
:rtype: requests.Response
133
144
"""
145
+ self .update_kwargs (METHOD_PATCH , ** kwargs )
134
146
url = self .get_url (path , ** kwargs )
135
147
headers = self .get_headers (** kwargs )
136
148
kwargs ['headers' ] = headers
@@ -147,6 +159,7 @@ def post(self, path, **kwargs):
147
159
:return: :class:`requests.Response <Response>` object
148
160
:rtype: requests.Response
149
161
"""
162
+ self .update_kwargs (METHOD_POST , ** kwargs )
150
163
url = self .get_url (path , ** kwargs )
151
164
headers = self .get_headers (** kwargs )
152
165
kwargs ['headers' ] = headers
@@ -163,6 +176,7 @@ def put(self, path, **kwargs):
163
176
:return: :class:`requests.Response <Response>` object
164
177
:rtype: requests.Response
165
178
"""
179
+ self .update_kwargs (METHOD_PUT , ** kwargs )
166
180
url = self .get_url (path , ** kwargs )
167
181
headers = self .get_headers (** kwargs )
168
182
kwargs ['headers' ] = headers
0 commit comments