def flask_request_to_requests_response( flask_request: LocalProxy) -> RequestsResponse: urllib_url = urlparse(flask_request.url) return requests_request(headers=flask_request.headers, method=flask_request.method, url=ParseResult(scheme=urllib_url.scheme))
def _code(self, username, password, **kwargs): data = { "login": username, "password": password, "redirect_uri": "http://www.example.com", "client_id": self.client_id, "response_type": "code", "state": "", "scope": None, "user_id": None, } headers = {"Referer": "https://partner.api.beatsmusic.com/oauth2/authorize"} r = requests_request( "post", "https://partner.api.beatsmusic.com/api/o/oauth2/approval", data=data, headers=headers, allow_redirects=False, **kwargs ) try: location = r.headers["location"] parsed = urlparse(location) qs = parse_qs(parsed.query, keep_blank_values=True) code = qs["code"][0] return code except: return None
def dict_request_to_requests_response(dict_request: dict) -> RequestsResponse: return requests_request( headers=dict_request['headers'], method=dict_request['method'], url=ParseResult(scheme=dict_request['url']['scheme'], netloc=dict_request['url']['netloc'], path=dict_request['url']['path'], params=dict_request['url']['params'], query=urlencode(dict_request['url']['query'], quote_via=lambda x, *a: x), fragment=dict_request['url']['fragment']).geturl(), json=dict_request['body'])
def _request(self, method, path, **kwargs): key = self._param_key_for_method(method) if key not in kwargs: kwargs[key] = {"client_id": self.client_id} else: kwargs[key]["client_id"] = self.client_id r = requests_request(method, self.base_url + path, **kwargs) try: return r.json() except: return None
def _authed_request(self, method, path, **kwargs): if "headers" not in kwargs: kwargs["headers"] = {"Authorization": "Bearer {0}".format(self.access_token)} else: kwargs["headers"]["Authorization"] = "Bearer {0}".format(self.access_token) r = requests_request(method, self.base_url + path, **kwargs) try: if r.status_code == 401 and "stop" not in kwargs: self.refresh_token() return self._authed_request(method, path, stop=True, **kwargs) else: return r.json() except: return None