Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Authlib / integrations / flask_helpers.py
Size: Mime:
from flask import request as flask_req
from authlib.common.encoding import to_unicode


def create_oauth_request(request, request_cls, use_json=False):
    if isinstance(request, request_cls):
        return request

    if not request:
        request = flask_req

    if request.method == 'POST':
        if use_json:
            body = request.get_json()
        else:
            body = request.form.to_dict(flat=True)
    else:
        body = None

    # query string in werkzeug Request.url is very weird
    # scope=profile%20email will be scope=profile email
    url = request.base_url
    if request.query_string:
        url = url + '?' + to_unicode(request.query_string)
    return request_cls(request.method, url, body, request.headers)