airbyte_cdk.sources.streams.http.exceptions
1# 2# Copyright (c) 2023 Airbyte, Inc., all rights reserved. 3# 4 5 6from typing import Optional, Union 7 8import requests 9 10from airbyte_cdk.models import FailureType 11 12 13class BaseBackoffException(requests.exceptions.HTTPError): 14 def __init__( 15 self, 16 request: requests.PreparedRequest, 17 response: Optional[Union[requests.Response, Exception]], 18 error_message: str = "", 19 failure_type: Optional[FailureType] = None, 20 ): 21 self.failure_type = failure_type 22 if isinstance(response, requests.Response): 23 error_message = ( 24 error_message 25 or f"Request URL: {request.url}, Response Code: {response.status_code}, Response Text: {response.text}" 26 ) 27 super().__init__(error_message, request=request, response=response) 28 else: 29 error_message = error_message or f"Request URL: {request.url}, Exception: {response}" 30 super().__init__(error_message, request=request, response=None) 31 32 33class RequestBodyException(Exception): 34 """ 35 Raised when there are issues in configuring a request body 36 """ 37 38 39class UserDefinedBackoffException(BaseBackoffException): 40 """ 41 An exception that exposes how long it attempted to backoff 42 """ 43 44 def __init__( 45 self, 46 backoff: Union[int, float], 47 request: requests.PreparedRequest, 48 response: Optional[Union[requests.Response, Exception]], 49 error_message: str = "", 50 failure_type: Optional[FailureType] = None, 51 ): 52 """ 53 :param backoff: how long to backoff in seconds 54 :param request: the request that triggered this backoff exception 55 :param response: the response that triggered the backoff exception 56 """ 57 self.backoff = backoff 58 super().__init__( 59 request=request, 60 response=response, 61 error_message=error_message, 62 failure_type=failure_type, 63 ) 64 65 66class DefaultBackoffException(BaseBackoffException): 67 pass 68 69 70class RateLimitBackoffException(BaseBackoffException): 71 pass
class
BaseBackoffException(requests.exceptions.HTTPError):
14class BaseBackoffException(requests.exceptions.HTTPError): 15 def __init__( 16 self, 17 request: requests.PreparedRequest, 18 response: Optional[Union[requests.Response, Exception]], 19 error_message: str = "", 20 failure_type: Optional[FailureType] = None, 21 ): 22 self.failure_type = failure_type 23 if isinstance(response, requests.Response): 24 error_message = ( 25 error_message 26 or f"Request URL: {request.url}, Response Code: {response.status_code}, Response Text: {response.text}" 27 ) 28 super().__init__(error_message, request=request, response=response) 29 else: 30 error_message = error_message or f"Request URL: {request.url}, Exception: {response}" 31 super().__init__(error_message, request=request, response=None)
An HTTP error occurred.
BaseBackoffException( request: requests.models.PreparedRequest, response: Union[requests.models.Response, Exception, NoneType], error_message: str = '', failure_type: Optional[airbyte_protocol_dataclasses.models.airbyte_protocol.FailureType] = None)
15 def __init__( 16 self, 17 request: requests.PreparedRequest, 18 response: Optional[Union[requests.Response, Exception]], 19 error_message: str = "", 20 failure_type: Optional[FailureType] = None, 21 ): 22 self.failure_type = failure_type 23 if isinstance(response, requests.Response): 24 error_message = ( 25 error_message 26 or f"Request URL: {request.url}, Response Code: {response.status_code}, Response Text: {response.text}" 27 ) 28 super().__init__(error_message, request=request, response=response) 29 else: 30 error_message = error_message or f"Request URL: {request.url}, Exception: {response}" 31 super().__init__(error_message, request=request, response=None)
class
RequestBodyException(builtins.Exception):
34class RequestBodyException(Exception): 35 """ 36 Raised when there are issues in configuring a request body 37 """
Raised when there are issues in configuring a request body
40class UserDefinedBackoffException(BaseBackoffException): 41 """ 42 An exception that exposes how long it attempted to backoff 43 """ 44 45 def __init__( 46 self, 47 backoff: Union[int, float], 48 request: requests.PreparedRequest, 49 response: Optional[Union[requests.Response, Exception]], 50 error_message: str = "", 51 failure_type: Optional[FailureType] = None, 52 ): 53 """ 54 :param backoff: how long to backoff in seconds 55 :param request: the request that triggered this backoff exception 56 :param response: the response that triggered the backoff exception 57 """ 58 self.backoff = backoff 59 super().__init__( 60 request=request, 61 response=response, 62 error_message=error_message, 63 failure_type=failure_type, 64 )
An exception that exposes how long it attempted to backoff
UserDefinedBackoffException( backoff: Union[int, float], request: requests.models.PreparedRequest, response: Union[requests.models.Response, Exception, NoneType], error_message: str = '', failure_type: Optional[airbyte_protocol_dataclasses.models.airbyte_protocol.FailureType] = None)
45 def __init__( 46 self, 47 backoff: Union[int, float], 48 request: requests.PreparedRequest, 49 response: Optional[Union[requests.Response, Exception]], 50 error_message: str = "", 51 failure_type: Optional[FailureType] = None, 52 ): 53 """ 54 :param backoff: how long to backoff in seconds 55 :param request: the request that triggered this backoff exception 56 :param response: the response that triggered the backoff exception 57 """ 58 self.backoff = backoff 59 super().__init__( 60 request=request, 61 response=response, 62 error_message=error_message, 63 failure_type=failure_type, 64 )
Parameters
- backoff: how long to backoff in seconds
- request: the request that triggered this backoff exception
- response: the response that triggered the backoff exception
Inherited Members
An HTTP error occurred.
Inherited Members
An HTTP error occurred.