Stricter type checking

This commit is contained in:
Itamar Turner-Trauring 2023-08-01 15:34:40 -04:00
parent e545ab4a80
commit 009f063067
2 changed files with 11 additions and 5 deletions

View File

@ -81,9 +81,13 @@ def _encode_si(si: bytes) -> str:
class ClientException(Exception): class ClientException(Exception):
"""An unexpected response code from the server.""" """An unexpected response code from the server."""
def __init__(self, code: int, *additional_args): def __init__(
Exception.__init__(self, code, *additional_args) self, code: int, message: Optional[str] = None, body: Optional[bytes] = None
):
Exception.__init__(self, code, message, body)
self.code = code self.code = code
self.message = message
self.body = body
register_exception_extractor(ClientException, lambda e: {"response_code": e.code}) register_exception_extractor(ClientException, lambda e: {"response_code": e.code})
@ -305,7 +309,9 @@ class _StorageClientHTTPSPolicy:
return self return self
# IOpenSSLClientConnectionCreator # IOpenSSLClientConnectionCreator
def clientConnectionForTLS(self, tlsProtocol: TLSMemoryBIOProtocol) -> SSL.Connection: def clientConnectionForTLS(
self, tlsProtocol: TLSMemoryBIOProtocol
) -> SSL.Connection:
return SSL.Connection( return SSL.Connection(
_TLSContextFactory(self.expected_spki_hash).getContext(), None _TLSContextFactory(self.expected_spki_hash).getContext(), None
) )

View File

@ -1428,7 +1428,7 @@ class _FakeRemoteReference(object):
result = yield getattr(self.local_object, action)(*args, **kwargs) result = yield getattr(self.local_object, action)(*args, **kwargs)
defer.returnValue(result) defer.returnValue(result)
except HTTPClientException as e: except HTTPClientException as e:
raise RemoteException(e.args) raise RemoteException((e.code, e.message, e.body))
@attr.s @attr.s