mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-16 02:02:58 -07:00
Bump requests-oauthlib from 1.3.1 to 2.0.0 (#2293)
* Bump requests-oauthlib from 1.3.1 to 2.0.0 Bumps [requests-oauthlib](https://github.com/requests/requests-oauthlib) from 1.3.1 to 2.0.0. - [Release notes](https://github.com/requests/requests-oauthlib/releases) - [Changelog](https://github.com/requests/requests-oauthlib/blob/master/HISTORY.rst) - [Commits](https://github.com/requests/requests-oauthlib/compare/v1.3.1...v2.0.0) --- updated-dependencies: - dependency-name: requests-oauthlib dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update requests-oauthlib==2.0.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
This commit is contained in:
parent
452a4afdcf
commit
0d1d2a3e6b
60 changed files with 2414 additions and 2291 deletions
|
@ -37,15 +37,15 @@ should have no impact on properly behaving programs.
|
|||
import binascii
|
||||
import hashlib
|
||||
import hmac
|
||||
import ipaddress
|
||||
import logging
|
||||
import urllib.parse as urlparse
|
||||
import warnings
|
||||
|
||||
from oauthlib.common import extract_params, safe_string_equals, urldecode
|
||||
import urllib.parse as urlparse
|
||||
|
||||
from . import utils
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
@ -131,7 +131,12 @@ def base_string_uri(uri: str, host: str = None) -> str:
|
|||
raise ValueError('uri must be a string.')
|
||||
|
||||
# FIXME: urlparse does not support unicode
|
||||
scheme, netloc, path, params, query, fragment = urlparse.urlparse(uri)
|
||||
output = urlparse.urlparse(uri)
|
||||
scheme = output.scheme
|
||||
hostname = output.hostname
|
||||
port = output.port
|
||||
path = output.path
|
||||
params = output.params
|
||||
|
||||
# The scheme, authority, and path of the request resource URI `RFC3986`
|
||||
# are included by constructing an "http" or "https" URI representing
|
||||
|
@ -153,13 +158,22 @@ def base_string_uri(uri: str, host: str = None) -> str:
|
|||
|
||||
# 1. The scheme and host MUST be in lowercase.
|
||||
scheme = scheme.lower()
|
||||
netloc = netloc.lower()
|
||||
# Note: if ``host`` is used, it will be converted to lowercase below
|
||||
if hostname is not None:
|
||||
hostname = hostname.lower()
|
||||
|
||||
# 2. The host and port values MUST match the content of the HTTP
|
||||
# request "Host" header field.
|
||||
if host is not None:
|
||||
netloc = host.lower() # override value in uri with provided host
|
||||
# NOTE: override value in uri with provided host
|
||||
# Host argument is equal to netloc. It means it's missing scheme.
|
||||
# Add it back, before parsing.
|
||||
|
||||
host = host.lower()
|
||||
host = f"{scheme}://{host}"
|
||||
output = urlparse.urlparse(host)
|
||||
hostname = output.hostname
|
||||
port = output.port
|
||||
|
||||
# 3. The port MUST be included if it is not the default port for the
|
||||
# scheme, and MUST be excluded if it is the default. Specifically,
|
||||
|
@ -170,33 +184,28 @@ def base_string_uri(uri: str, host: str = None) -> str:
|
|||
# .. _`RFC2616`: https://tools.ietf.org/html/rfc2616
|
||||
# .. _`RFC2818`: https://tools.ietf.org/html/rfc2818
|
||||
|
||||
if ':' in netloc:
|
||||
# Contains a colon ":", so try to parse as "host:port"
|
||||
if hostname is None:
|
||||
raise ValueError('missing host')
|
||||
|
||||
hostname, port_str = netloc.split(':', 1)
|
||||
# NOTE: Try guessing if we're dealing with IP or hostname
|
||||
try:
|
||||
hostname = ipaddress.ip_address(hostname)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
if len(hostname) == 0:
|
||||
raise ValueError('missing host') # error: netloc was ":port" or ":"
|
||||
if isinstance(hostname, ipaddress.IPv6Address):
|
||||
hostname = f"[{hostname}]"
|
||||
elif isinstance(hostname, ipaddress.IPv4Address):
|
||||
hostname = f"{hostname}"
|
||||
|
||||
if len(port_str) == 0:
|
||||
netloc = hostname # was "host:", so just use the host part
|
||||
else:
|
||||
try:
|
||||
port_num = int(port_str) # try to parse into an integer number
|
||||
except ValueError:
|
||||
raise ValueError('port is not an integer')
|
||||
|
||||
if port_num <= 0 or 65535 < port_num:
|
||||
raise ValueError('port out of range') # 16-bit unsigned ints
|
||||
if (scheme, port_num) in (('http', 80), ('https', 443)):
|
||||
netloc = hostname # default port for scheme: exclude port num
|
||||
else:
|
||||
netloc = hostname + ':' + str(port_num) # use hostname:port
|
||||
if port is not None and not (0 < port <= 65535):
|
||||
raise ValueError('port out of range') # 16-bit unsigned ints
|
||||
if (scheme, port) in (('http', 80), ('https', 443)):
|
||||
netloc = hostname # default port for scheme: exclude port num
|
||||
elif port:
|
||||
netloc = f"{hostname}:{port}" # use hostname:port
|
||||
else:
|
||||
# Does not contain a colon, so entire value must be the hostname
|
||||
|
||||
if len(netloc) == 0:
|
||||
raise ValueError('missing host') # error: netloc was empty string
|
||||
netloc = hostname
|
||||
|
||||
v = urlparse.urlunparse((scheme, netloc, path, params, '', ''))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue