diff --git a/README.md b/README.md
index a3bc584..d7a1e8f 100644
--- a/README.md
+++ b/README.md
@@ -653,6 +653,13 @@ const w = wretch().middlewares([retry(), dedupe()])
**Retries a request multiple times in case of an error (or until a custom condition is true).**
+> **💡 By default, the request will be retried if the response status is not in the 2xx range.**
+>
+> ```js
+> // Replace the default condition with a custom one to avoid retrying on 4xx errors:
+> until: (response, error) => response && (response.ok || (response.status >= 400 && response.status < 500))
+> ```
+
```js
import wretch from 'wretch'
import { retry } from 'wretch/middlewares'
diff --git a/docs/api/assets/highlight.css b/docs/api/assets/highlight.css
index 3080ec8..bbb603e 100644
--- a/docs/api/assets/highlight.css
+++ b/docs/api/assets/highlight.css
@@ -21,6 +21,8 @@
--dark-hl-9: #D4D4D4;
--light-hl-10: #267F99;
--dark-hl-10: #4EC9B0;
+ --light-hl-11: #000000;
+ --dark-hl-11: #C8C8C8;
--light-code-background: #FFFFFF;
--dark-code-background: #1E1E1E;
}
@@ -37,6 +39,7 @@
--hl-8: var(--light-hl-8);
--hl-9: var(--light-hl-9);
--hl-10: var(--light-hl-10);
+ --hl-11: var(--light-hl-11);
--code-background: var(--light-code-background);
} }
@@ -52,6 +55,7 @@
--hl-8: var(--dark-hl-8);
--hl-9: var(--dark-hl-9);
--hl-10: var(--dark-hl-10);
+ --hl-11: var(--dark-hl-11);
--code-background: var(--dark-code-background);
} }
@@ -67,6 +71,7 @@
--hl-8: var(--light-hl-8);
--hl-9: var(--light-hl-9);
--hl-10: var(--light-hl-10);
+ --hl-11: var(--light-hl-11);
--code-background: var(--light-code-background);
}
@@ -82,6 +87,7 @@
--hl-8: var(--dark-hl-8);
--hl-9: var(--dark-hl-9);
--hl-10: var(--dark-hl-10);
+ --hl-11: var(--dark-hl-11);
--code-background: var(--dark-code-background);
}
@@ -96,4 +102,5 @@
.hl-8 { color: var(--hl-8); }
.hl-9 { color: var(--hl-9); }
.hl-10 { color: var(--hl-10); }
+.hl-11 { color: var(--hl-11); }
pre, code { background: var(--code-background); }
diff --git a/docs/api/functions/addons_abort.default.html b/docs/api/functions/addons_abort.default.html
index 407c229..793224a 100644
--- a/docs/api/functions/addons_abort.default.html
+++ b/docs/api/functions/addons_abort.default.html
@@ -30,7 +30,7 @@
Function default
+Defined in src/addons/abort.ts:110
+Defined in src/addons/perfs.ts:58
+Defined in src/addons/progress.ts:45
+Defined in src/index.ts:36
+Defined in src/middlewares/dedupe.ts:33
+Defined in src/middlewares/delay.ts:16
+Defined in src/middlewares/retry.ts:119
+Defined in src/middlewares/throttlingCache.ts:56
+Defined in src/addons/abort.ts:68
on Abort
@@ -96,7 +96,7 @@
+Defined in src/addons/abort.ts:72
set Timeout
@@ -136,7 +136,7 @@
+Defined in src/addons/abort.ts:50
Returns AbortWretch
+Defined in src/addons/abort.ts:31
+Defined in src/addons/formData.ts:80
Returns PerfsAddon
+Defined in src/addons/perfs.ts:9
Returns ProgressResolver
+Defined in src/addons/progress.ts:23
+Defined in src/addons/queryString.ts:87
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:397
json
@@ -121,7 +121,7 @@ Optional
contentType:
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:413
HTTP Methods
@@ -142,7 +142,7 @@ this: Self
Optional
url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:470
fetch
@@ -172,7 +172,7 @@ Optional
body: Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:444
get
@@ -191,7 +191,7 @@ this: Self
Optional
url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:457
head
@@ -210,7 +210,7 @@ this: Self
Optional
url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:522
opts
@@ -229,7 +229,7 @@ this: Self
Optional
url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:535
patch
@@ -250,7 +250,7 @@ Optional
body: Optional url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:509
post
@@ -271,7 +271,7 @@ Optional
body: Optional url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:496
put
@@ -292,7 +292,7 @@ Optional
body: Optional url: string
Returns Resolver extends undefined ? Chain & WretchResponseChain < Self , Chain , Resolver > : Resolver
+Defined in src/types.ts:483
Helpers Methods
@@ -315,7 +315,7 @@ headerValue: string
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:209
addon
@@ -341,7 +341,7 @@ addon:
Returns W & Self & Wretch < Self & W , Chain & R , Resolver >
+Defined in src/types.ts:64
auth
@@ -362,7 +362,7 @@ headerValue: string
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:233
catcher
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:284
content
@@ -428,7 +428,7 @@ headerValue: string
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:221
defer
@@ -458,7 +458,7 @@ Optional
clear: Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:316
error Type
@@ -481,7 +481,7 @@ method: string
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:86
headers
@@ -502,7 +502,7 @@ headerValues: HeadersInit
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:197
middlewares
Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:383
options
@@ -555,7 +555,7 @@ Optional
replace: Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:182
polyfills
@@ -581,7 +581,7 @@ Optional
replace: Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:110
resolve
@@ -626,7 +626,7 @@ Returns Optional
clear: Clear
Returns Self & Wretch < Self , Chain , ResolverReturn >
+Defined in src/types.ts:352
url
@@ -651,7 +651,7 @@ Optional
replace: Returns Wretch < Self , Chain , Resolver >
+Defined in src/types.ts:138
+Defined in src/types.ts:659
error
@@ -114,7 +114,7 @@ code: string WretchErrorCallback< T , Self , R >
Returns WretchResponseChain < T , Self , R >
+Defined in src/types.ts:650
+Defined in src/types.ts:713
+Defined in src/types.ts:677
+Defined in src/types.ts:706
+Defined in src/types.ts:686
+Defined in src/types.ts:696
+Defined in src/types.ts:668
Response Type Properties
@@ -303,7 +303,7 @@ type: ArrayBuffer Returns Result | Promise < Result >
Returns Promise < Awaited < Result > >
+Defined in src/types.ts:611
blob
blob: ( < Result > ( cb?: ( ( type: Blob ) => Result | Promise < Result > ) ) => Promise < Awaited < Result > > )
@@ -341,7 +341,7 @@ type: Blob
Returns Result | Promise < Result >
Returns Promise < Awaited < Result > >
+Defined in src/types.ts:591
form Data
form Data: ( < Result > ( cb?: ( ( type: FormData ) => Result | Promise < Result > ) ) => Promise < Awaited < Result > > )
@@ -379,7 +379,7 @@ type: FormData
Returns Result | Promise < Result >
Returns Promise < Awaited < Result > >
+Defined in src/types.ts:601
json
json: ( < Result > ( cb?: ( ( type: any ) => Result | Promise < Result > ) ) => Promise < Awaited < Result > > )
@@ -417,7 +417,7 @@ type: any
Returns Result | Promise < Result >
Returns Promise < Awaited < Result > >
+Defined in src/types.ts:581
+Defined in src/types.ts:571
text
text: ( < Result > ( cb?: ( ( type: string ) => Result | Promise < Result > ) ) => Promise < Awaited < Result > > )
@@ -494,7 +494,7 @@ type: string
Returns Result | Promise < Result >
Returns Promise < Awaited < Result > >
+Defined in src/types.ts:621
+Defined in src/addons/abort.ts:1
diff --git a/docs/api/modules/addons_formData.html b/docs/api/modules/addons_formData.html
index f5a4c9d..d85cbb6 100644
--- a/docs/api/modules/addons_formData.html
+++ b/docs/api/modules/addons_formData.html
@@ -16,7 +16,7 @@
addons/formData
Module addons/formData
+Defined in src/addons/formData.ts:1
diff --git a/docs/api/modules/addons_formUrl.html b/docs/api/modules/addons_formUrl.html
index 680f55c..b4dc162 100644
--- a/docs/api/modules/addons_formUrl.html
+++ b/docs/api/modules/addons_formUrl.html
@@ -16,7 +16,7 @@
addons/formUrl
Module addons/formUrl
+Defined in src/addons/formUrl.ts:1
diff --git a/docs/api/modules/addons_perfs.html b/docs/api/modules/addons_perfs.html
index d3664b8..34b94bc 100644
--- a/docs/api/modules/addons_perfs.html
+++ b/docs/api/modules/addons_perfs.html
@@ -16,7 +16,7 @@
addons/perfs
Module addons/perfs
+Defined in src/addons/perfs.ts:1
diff --git a/docs/api/modules/addons_progress.html b/docs/api/modules/addons_progress.html
index 421dcda..0cf1fee 100644
--- a/docs/api/modules/addons_progress.html
+++ b/docs/api/modules/addons_progress.html
@@ -16,7 +16,7 @@
addons/progress
Module addons/progress
+Defined in src/addons/progress.ts:1
diff --git a/docs/api/modules/addons_queryString.html b/docs/api/modules/addons_queryString.html
index daade00..72ae125 100644
--- a/docs/api/modules/addons_queryString.html
+++ b/docs/api/modules/addons_queryString.html
@@ -16,7 +16,7 @@
addons/queryString
Module addons/queryString
+Defined in src/addons/queryString.ts:1
diff --git a/docs/api/modules/index.default.html b/docs/api/modules/index.default.html
index c011358..e3fde23 100644
--- a/docs/api/modules/index.default.html
+++ b/docs/api/modules/index.default.html
@@ -17,12 +17,12 @@
default
Namespace default
+Defined in src/index.ts:36
+Defined in src/index.ts:40
+Defined in src/index.ts:42
+Defined in src/index.ts:44
+Defined in src/index.ts:46
+Defined in src/index.ts:47
Index
diff --git a/docs/api/modules/index.html b/docs/api/modules/index.html
index 77cb711..bfa2d3a 100644
--- a/docs/api/modules/index.html
+++ b/docs/api/modules/index.html
@@ -16,7 +16,7 @@
index
Module index
+Defined in src/index.ts:1
diff --git a/docs/api/modules/middlewares.html b/docs/api/modules/middlewares.html
index e5c4618..6bdbaec 100644
--- a/docs/api/modules/middlewares.html
+++ b/docs/api/modules/middlewares.html
@@ -16,7 +16,7 @@
middlewares
Module middlewares
+Defined in src/middlewares/index.ts:1
diff --git a/docs/api/modules/middlewares_dedupe.html b/docs/api/modules/middlewares_dedupe.html
index 2f4364e..5433c9a 100644
--- a/docs/api/modules/middlewares_dedupe.html
+++ b/docs/api/modules/middlewares_dedupe.html
@@ -16,7 +16,7 @@
middlewares/dedupe
Module middlewares/dedupe
+Defined in src/middlewares/dedupe.ts:1
diff --git a/docs/api/modules/middlewares_delay.html b/docs/api/modules/middlewares_delay.html
index f431778..72b9641 100644
--- a/docs/api/modules/middlewares_delay.html
+++ b/docs/api/modules/middlewares_delay.html
@@ -16,7 +16,7 @@
middlewares/delay
Module middlewares/delay
+Defined in src/middlewares/delay.ts:1
diff --git a/docs/api/modules/middlewares_retry.html b/docs/api/modules/middlewares_retry.html
index 01503e6..bd73c13 100644
--- a/docs/api/modules/middlewares_retry.html
+++ b/docs/api/modules/middlewares_retry.html
@@ -16,7 +16,7 @@
middlewares/retry
Module middlewares/retry
+Defined in src/middlewares/retry.ts:1
diff --git a/docs/api/modules/middlewares_throttlingCache.html b/docs/api/modules/middlewares_throttlingCache.html
index fcc7f08..6107d87 100644
--- a/docs/api/modules/middlewares_throttlingCache.html
+++ b/docs/api/modules/middlewares_throttlingCache.html
@@ -16,7 +16,7 @@
middlewares/throttlingCache
Module middlewares/throttlingCache
+Defined in src/middlewares/throttlingCache.ts:1
Fetch Request options with additional properties.