Пример #1
0
def info_data(environ, **params):
    method = environ['REQUEST_METHOD']
    headers = getheaders(environ)
    args = {}
    if method in ENCODE_URL_METHODS:
        qs = environ.get('QUERY_STRING',{})
        if qs:
            args = parse_qs(qs)
    else:
        post, files = parse_form_data(environ)
        args = dict(post)
    data = {'method': method, 'headers': headers, 'args': args}
    data.update(params)
    return jsonbytes(data)
Пример #2
0
 def post_request(self, call, response):
     if response.status_code == 302 and call.name == 'authorization':
         url = urlparse(response.headers['location'])
         query = parse_qs(url.query)
         cont = query.get('cont')
         if cont:
             return self.request(call, cont[0], chain_to_response=response)
         else:
             state = query.get('state')
             #if state != response.request.data['state']:
             #    raise PermissionDenied('state mismatch')
             code = url.query['code'][0]
             return self.token(code=code, chain_to_response=response)
     return response
Пример #3
0
 def post_request(self, call, response):
     if response.status_code == 302 and call.name == 'authorization':
         url = urlparse(response.headers['location'])
         query = parse_qs(url.query)
         cont = query.get('cont')
         if cont:
             return self.request(call, cont[0], chain_to_response=response)
         else:
             state = query.get('state')
             #if state != response.request.data['state']:
             #    raise PermissionDenied('state mismatch')
             code = url.query['code'][0]
             return self.token(code=code, chain_to_response=response)
     return response