@@ -32,7 +32,7 @@ class wait_from_header(wait_base):
3232 program will hang if the server responds with an excessive wait value.
3333 fallback (wait_base): Wait strategy to use if `header` is not present,
3434 or unable to parse to a `float` value, or if value parsed from header
35- exceeds `wait_max`. Defaults to `None `.
35+ exceeds `wait_max`. Defaults to `tenacity.wait_exponential `.
3636
3737 Raises:
3838 ValueError: If `fallback` is `None`, and any one of the following is true:
@@ -47,7 +47,7 @@ def __init__(
4747 self ,
4848 header : str ,
4949 wait_max : Union [PositiveFloat , PositiveInt , None ] = 120.0 ,
50- fallback : Optional [wait_base ] = None ,
50+ fallback : Optional [wait_base ] = wait_exponential () ,
5151 ) -> None :
5252 self .header = header
5353 self .wait_max = float (wait_max ) if wait_max else None
@@ -69,7 +69,9 @@ def _get_wait_value(self, retry_state: RetryCallState) -> float:
6969 if retry_state .outcome :
7070 exc = retry_state .outcome .exception ()
7171 if isinstance (exc , get_default_http_status_exceptions ()):
72- value = exc .response .headers .get (self .header , "" )
72+ value = exc .response .headers .get (self .header )
73+ if value is None :
74+ raise ValueError (f"Header not present: { self .header } " )
7375 if re .match (r"^\d+$" , value ):
7476 return float (value )
7577 else :
@@ -115,7 +117,7 @@ class wait_retry_after(wait_from_header):
115117 program will hang if the server responds with an excessive wait value.
116118 fallback (wait_base): Wait strategy to use if `header` is not present,
117119 or unable to parse to a `float` value, or if value parsed from header
118- exceeds `wait_max`. Defaults to `None `.
120+ exceeds `wait_max`. Defaults to `tenacity.wait_exponential() `.
119121
120122 Raises:
121123 ValueError: If `fallback` is `None`, and any one of the following is true:
@@ -129,7 +131,7 @@ class wait_retry_after(wait_from_header):
129131 def __init__ (
130132 self ,
131133 wait_max : Union [PositiveFloat , PositiveInt , None ] = 120.0 ,
132- fallback : Optional [wait_base ] = None ,
134+ fallback : Optional [wait_base ] = wait_exponential () ,
133135 ) -> None :
134136 super ().__init__ (header = "Retry-After" , wait_max = wait_max , fallback = fallback )
135137
0 commit comments