@@ -67,6 +67,10 @@ <h1 class="title">Module <code>slack_sdk.http_retry.builtin_handlers</code></h1>
6767 if error is None:
6868 return False
6969
70+ if isinstance(error, URLError):
71+ if response is not None:
72+ return False # status 40x
73+
7074 for error_type in self.error_types_to_do_retries:
7175 if isinstance(error, error_type):
7276 return True
@@ -97,7 +101,7 @@ <h1 class="title">Module <code>slack_sdk.http_retry.builtin_handlers</code></h1>
97101 if response is None:
98102 raise error
99103
100- state.increment_current_attempt()
104+ state.next_attempt_requested = True
101105 retry_after_header_name: Optional[str] = None
102106 for k in response.headers.keys():
103107 if k.lower() == "retry-after":
@@ -111,7 +115,8 @@ <h1 class="title">Module <code>slack_sdk.http_retry.builtin_handlers</code></h1>
111115 duration = (
112116 int(response.headers.get(retry_after_header_name)[0]) + random.random()
113117 )
114- time.sleep(duration)</ code > </ pre >
118+ time.sleep(duration)
119+ state.increment_current_attempt()</ code > </ pre >
115120</ details >
116121</ section >
117122< section >
@@ -169,6 +174,10 @@ <h2 id="args">Args</h2>
169174 if error is None:
170175 return False
171176
177+ if isinstance(error, URLError):
178+ if response is not None:
179+ return False # status 40x
180+
172181 for error_type in self.error_types_to_do_retries:
173182 if isinstance(error, error_type):
174183 return True
@@ -232,7 +241,7 @@ <h2 id="args">Args</h2>
232241 if response is None:
233242 raise error
234243
235- state.increment_current_attempt()
244+ state.next_attempt_requested = True
236245 retry_after_header_name: Optional[str] = None
237246 for k in response.headers.keys():
238247 if k.lower() == "retry-after":
@@ -246,7 +255,8 @@ <h2 id="args">Args</h2>
246255 duration = (
247256 int(response.headers.get(retry_after_header_name)[0]) + random.random()
248257 )
249- time.sleep(duration)</ code > </ pre >
258+ time.sleep(duration)
259+ state.increment_current_attempt()</ code > </ pre >
250260</ details >
251261< h3 > Ancestors</ h3 >
252262< ul class ="hlist ">
@@ -285,7 +295,7 @@ <h3>Methods</h3>
285295 if response is None:
286296 raise error
287297
288- state.increment_current_attempt()
298+ state.next_attempt_requested = True
289299 retry_after_header_name: Optional[str] = None
290300 for k in response.headers.keys():
291301 if k.lower() == "retry-after":
@@ -299,7 +309,8 @@ <h3>Methods</h3>
299309 duration = (
300310 int(response.headers.get(retry_after_header_name)[0]) + random.random()
301311 )
302- time.sleep(duration)</ code > </ pre >
312+ time.sleep(duration)
313+ state.increment_current_attempt()</ code > </ pre >
303314</ details >
304315</ dd >
305316</ dl >
0 commit comments