diff --git a/shotgun_api3/shotgun.py b/shotgun_api3/shotgun.py index d3f2cfba1..7e11a1673 100644 --- a/shotgun_api3/shotgun.py +++ b/shotgun_api3/shotgun.py @@ -4151,16 +4151,16 @@ def _upload_data_to_storage(self, data, content_type, size, storage_url): :returns: upload url. :rtype: str """ - opener = self._build_opener(urllib.request.HTTPHandler) - - request = urllib.request.Request(storage_url, data=data) - request.add_header("Content-Type", content_type) - request.add_header("Content-Length", size) - request.get_method = lambda: "PUT" attempt = 1 while attempt <= self.MAX_ATTEMPTS: try: + opener = self._build_opener(urllib.request.HTTPHandler) + + request = urllib.request.Request(storage_url, data=data) + request.add_header("Content-Type", content_type) + request.add_header("Content-Length", size) + request.get_method = lambda: "PUT" result = self._make_upload_request(request, opener) LOG.debug("Completed request to %s" % request.get_method()) @@ -4267,12 +4267,12 @@ def _send_form(self, url, params): params.update(self._auth_params()) - opener = self._build_opener(FormPostHandler) attempt = 1 while attempt <= self.MAX_ATTEMPTS: # Perform the request try: + opener = self._build_opener(FormPostHandler) resp = opener.open(url, params) result = resp.read() # response headers are in str(resp.info()).splitlines() @@ -4309,11 +4309,11 @@ def __init__(self, *args, **kwargs): """ # Pop that argument, self.__ca_certs = kwargs.pop("ca_certs") - http_client.HTTPConnection.__init__(self, *args, **kwargs) + super().__init__(self, *args, **kwargs) def connect(self): "Connect to a host on a given (SSL) port." - http_client.HTTPConnection.connect(self) + super().connect(self) # Now that the regular HTTP socket has been created, wrap it with our SSL certs. if six.PY38: context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) @@ -4330,13 +4330,13 @@ def connect(self): ) -class CACertsHTTPSHandler(urllib.request.HTTPSHandler): +class CACertsHTTPSHandler(urllib.request.HTTPHandler): """ Handler that ensures https connections are created with the custom CA certs. """ def __init__(self, cacerts): - urllib.request.HTTPSHandler.__init__(self) + super().__init__(self) self.__ca_certs = cacerts def https_open(self, req):