diff options
Diffstat (limited to 'requests-0.14.0/build/lib.linux-x86_64-2.6/requests/packages/oauthlib/oauth2/draft25/utils.py')
-rw-r--r-- | requests-0.14.0/build/lib.linux-x86_64-2.6/requests/packages/oauthlib/oauth2/draft25/utils.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/requests-0.14.0/build/lib.linux-x86_64-2.6/requests/packages/oauthlib/oauth2/draft25/utils.py b/requests-0.14.0/build/lib.linux-x86_64-2.6/requests/packages/oauthlib/oauth2/draft25/utils.py new file mode 100644 index 0000000..75d5fcc --- /dev/null +++ b/requests-0.14.0/build/lib.linux-x86_64-2.6/requests/packages/oauthlib/oauth2/draft25/utils.py @@ -0,0 +1,39 @@ +""" +oauthlib.utils +~~~~~~~~~~~~~~ + +This module contains utility methods used by various parts of the OAuth 2 spec. +""" + +import urllib +import urlparse + + +def host_from_uri(uri): + """Extract hostname and port from URI. + + Will use default port for HTTP and HTTPS if none is present in the URI. + """ + default_ports = { + u'HTTP': u'80', + u'HTTPS': u'443', + } + + sch, netloc, path, par, query, fra = urlparse.urlparse(uri) + if u':' in netloc: + netloc, port = netloc.split(u':', 1) + else: + port = default_ports.get(sch.upper()) + + return netloc, port + + +def escape(u): + """Escape a string in an OAuth-compatible fashion. + + TODO: verify whether this can in fact be used for OAuth 2 + + """ + if not isinstance(u, unicode): + raise ValueError('Only unicode objects are escapable.') + return urllib.quote(u.encode('utf-8'), safe='~') |