Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
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'])
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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