Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
requests.py85 linesDownload Raw Back to rfc6749
1from authlib.common.encoding import json_loads2from authlib.common.urls import urlparse, url_decode3from .errors import InsecureTransportError4 5 6class OAuth2Request:7    def __init__(self, method: str, uri: str, body=None, headers=None):8        InsecureTransportError.check(uri)9        #: HTTP method10        self.method = method11        self.uri = uri12        self.body = body13        #: HTTP headers14        self.headers = headers or {}15 16        self.client = None17        self.auth_method = None18        self.user = None19        self.authorization_code = None20        self.refresh_token = None21        self.credential = None22 23    @property24    def args(self):25        query = urlparse.urlparse(self.uri).query26        return dict(url_decode(query))27 28    @property29    def form(self):30        return self.body or {}31 32    @property33    def data(self):34        data = {}35        data.update(self.args)36        data.update(self.form)37        return data38 39    @property40    def client_id(self) -> str:41        """The authorization server issues the registered client a client42        identifier -- a unique string representing the registration43        information provided by the client. The value is extracted from44        request.45 46        :return: string47        """48        return self.data.get('client_id')49 50    @property51    def response_type(self) -> str:52        rt = self.data.get('response_type')53        if rt and ' ' in rt:54            # sort multiple response types55            return ' '.join(sorted(rt.split()))56        return rt57 58    @property59    def grant_type(self) -> str:60        return self.form.get('grant_type')61 62    @property63    def redirect_uri(self):64        return self.data.get('redirect_uri')65 66    @property67    def scope(self) -> str:68        return self.data.get('scope')69 70    @property71    def state(self):72        return self.data.get('state')73 74 75class JsonRequest:76    def __init__(self, method, uri, body=None, headers=None):77        self.method = method78        self.uri = uri79        self.body = body80        self.headers = headers or {}81 82    @property83    def data(self):84        return json_loads(self.body)85 
codekingpro/portable-devtools · Team Ai