def _request(self, method, url_or_endpoint, **kwargs): if not url_or_endpoint.startswith(('http://', 'https://')): url = '{base}{endpoint}'.format(base=self.API_BASE_URL, endpoint=url_or_endpoint) else: url = url_or_endpoint if isinstance(kwargs.get('data', ''), dict): body = json.dumps(kwargs['data'], ensure_ascii=False) body = body.encode('utf-8') kwargs['data'] = body res = self._http.request(method=method, url=url, **kwargs) try: res.raise_for_status() except requests.RequestException as reqe: raise WeChatOAuthException(errcode=None, errmsg=None, client=self, request=reqe.request, response=reqe.response) result = json.loads(res.content.decode('utf-8', 'ignore'), strict=False) if 'errcode' in result and result['errcode'] != 0: errcode = result['errcode'] errmsg = result['errmsg'] raise WeChatOAuthException(errcode, errmsg, client=self, request=res.request, response=res) return result
def _request(self, method, url_or_endpoint, **kwargs): if not url_or_endpoint.startswith(("http://", "https://")): url = f"{self.API_BASE_URL}{url_or_endpoint}" else: url = url_or_endpoint if isinstance(kwargs.get("data", ""), dict): body = json.dumps(kwargs["data"], ensure_ascii=False) body = body.encode("utf-8") kwargs["data"] = body res = self._http.request(method=method, url=url, **kwargs) try: res.raise_for_status() except requests.RequestException as reqe: raise WeChatOAuthException( errcode=None, errmsg=None, client=self, request=reqe.request, response=reqe.response, ) result = json.loads(res.content.decode("utf-8", "ignore"), strict=False) if "errcode" in result and result["errcode"] != 0: errcode = result["errcode"] errmsg = result["errmsg"] raise WeChatOAuthException(errcode, errmsg, client=self, request=res.request, response=res) return result
def _request(self, method, url_or_endpoint, **kwargs): if not url_or_endpoint.startswith(("http://", "https://")): url = "{base}{endpoint}".format(base=self.API_BASE_URL, endpoint=url_or_endpoint) else: url = url_or_endpoint if isinstance(kwargs.get("data", ""), dict): body = json.dumps(kwargs["data"], ensure_ascii=False) body = body.encode("utf-8") kwargs["data"] = body res = self._http.request(method=method, url=url, **kwargs) try: res.raise_for_status() except requests.RequestException as reqe: raise WeChatOAuthException( errcode=None, errmsg=None, client=self, request=reqe.request, response=reqe.response, ) return self._handle_result(res, method=method, url=url, **kwargs)
def _request(self, method, url_or_endpoint, **kwargs): if not url_or_endpoint.startswith(('http://', 'https://')): url = '{base}{endpoint}'.format(base=self.API_BASE_URL, endpoint=url_or_endpoint) else: url = url_or_endpoint if isinstance(kwargs.get('data', ''), dict): body = json.dumps(kwargs['data'], ensure_ascii=False) body = body.encode('utf-8') kwargs['data'] = body res = requests.request(method=method, url=url, **kwargs) res.raise_for_status() result = res.json() if 'errcode' in result and result['errcode'] != 0: errcode = result['errcode'] errmsg = result['errmsg'] raise WeChatOAuthException(errcode, errmsg) return result