@@ -8,9 +8,10 @@ class Error(Exception):
88class ClientError (Error ):
99 """Represents an error that occurred in the Connector client."""
1010
11- def __init__ (self , error_message : Optional [str ] = None ):
11+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
1212 self .error_message = error_message or "An unexpected error occurred."
13- super ().__init__ (error_message )
13+ self .status_code = status_code
14+ super ().__init__ (self .status_code , self .error_message )
1415
1516
1617class RequiredError (Error ):
@@ -27,43 +28,43 @@ def __init__(self, field: str, error_message: Optional[str] = None):
2728class UnauthorizedError (Error ):
2829 """Represents an error when a client is unauthorized to access a resource."""
2930
30- def __init__ (self , error_message : Optional [str ] = None ):
31+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
3132 self .error_message = (
3233 error_message or "Unauthorized access. Authentication required."
3334 )
34- super (). __init__ ( error_message )
35-
35+ self . status_code = status_code
36+ super (). __init__ ( self . status_code , self . error_message )
3637
3738class ForbiddenError (Error ):
3839 """Represents an error when access to the resource is forbidden."""
3940
40- def __init__ (self , error_message : Optional [str ] = None ):
41+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
4142 self .error_message = (
4243 error_message or "Access to the requested resource is forbidden."
4344 )
44- super (). __init__ ( error_message )
45-
45+ self . status_code = status_code
46+ super (). __init__ ( self . status_code , self . error_message )
4647
4748class TooManyRequestsError (Error ):
4849 """Represents an error when the client is doing too many requests."""
4950
50- def __init__ (self , error_message : Optional [str ] = None ):
51+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
5152 self .error_message = (
5253 error_message or "Too many requests. You are being rate-limited."
5354 )
54- super (). __init__ ( error_message )
55-
55+ self . status_code = status_code
56+ super (). __init__ ( self . status_code , self . error_message )
5657
5758class RateLimitBanError (Error ):
5859 """Represents an error when the client's IP has been banned for exceeding rate
5960 limits."""
6061
61- def __init__ (self , error_message : Optional [str ] = None ):
62+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
6263 self .error_message = (
6364 error_message or "The IP address has been banned for exceeding rate limits."
6465 )
65- super (). __init__ ( error_message )
66-
66+ self . status_code = status_code
67+ super (). __init__ ( self . status_code , self . error_message )
6768
6869class ServerError (Error ):
6970 """Represents an error when there is an internal server error."""
@@ -89,16 +90,18 @@ def __init__(self, error_message: Optional[str] = None):
8990class NotFoundError (Error ):
9091 """Represents an error when the requested resource was not found."""
9192
92- def __init__ (self , error_message : Optional [str ] = None ):
93+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
9394 self .error_message = error_message or "The requested resource was not found."
94- super ().__init__ (error_message )
95+ self .status_code = status_code
96+ super ().__init__ (self .status_code , self .error_message )
9597
9698
9799class BadRequestError (Error ):
98100 """Represents an error when a request is invalid or cannot be otherwise served."""
99101
100- def __init__ (self , error_message : Optional [str ] = None ):
102+ def __init__ (self , error_message : Optional [str ] = None , status_code : Optional [ int ] = None ):
101103 self .error_message = (
102104 error_message or "The request was invalid or cannot be otherwise served."
103105 )
104- super ().__init__ (self .error_message )
106+ self .status_code = status_code
107+ super ().__init__ (self .status_code , self .error_message )
0 commit comments