From 929e5c949589909ebcf8d50de194de5573869d9a Mon Sep 17 00:00:00 2001 From: Jan Range Date: Fri, 10 May 2024 14:12:11 +0200 Subject: [PATCH] pass `data` as `json` to request method --- pyDataverse/api.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pyDataverse/api.py b/pyDataverse/api.py index eb7d51e..118560b 100644 --- a/pyDataverse/api.py +++ b/pyDataverse/api.py @@ -167,11 +167,14 @@ def post_request(self, url, data=None, auth=False, params=None, files=None): if self.api_token: params["key"] = self.api_token + if isinstance(data, str): + data = json.loads(data) + if self.client is None: return self._sync_request( method=httpx.post, url=url, - data=data, + json=data, params=params, files=files, ) @@ -179,7 +182,7 @@ def post_request(self, url, data=None, auth=False, params=None, files=None): return self._async_request( method=self.client.post, url=url, - data=data, + json=data, params=params, files=files, ) @@ -210,18 +213,21 @@ def put_request(self, url, data=None, auth=False, params=None): if self.api_token: params["key"] = self.api_token + if isinstance(data, str): + data = json.loads(data) + if self.client is None: return self._sync_request( method=httpx.put, url=url, - data=data, + json=data, params=params, ) else: return self._async_request( method=self.client.put, url=url, - data=data, + json=data, params=params, ) @@ -287,7 +293,6 @@ def _sync_request( try: resp = method(**kwargs, follow_redirects=True) - if resp.status_code == 401: error_msg = resp.json()["message"] raise ApiAuthorizationError(