@@ -68,14 +68,15 @@ export default function createHttpMiddleware({
6868 } = { } ,
6969 fetch : fetcher ,
7070 abortController : _abortController ,
71+ getAbortController
7172} : HttpMiddlewareOptions ) : Middleware {
7273 if ( ! fetcher && typeof fetch === 'undefined' )
7374 throw new Error (
7475 '`fetch` is not available. Please pass in `fetch` as an option or have it globally available.'
7576 )
76- if ( timeout && ! _abortController && typeof AbortController === 'undefined' )
77+ if ( timeout && ! getAbortController && ! _abortController && typeof AbortController === 'undefined' )
7778 throw new Error (
78- '`AbortController` is not available. Please pass in `AbortController ` as an option or have it globally available when using timeout.'
79+ '`AbortController` is not available. Please pass in `getAbortController ` as an option or have AbortController globally available when using timeout.'
7980 )
8081 let fetchFunction : typeof fetch
8182 if ( fetcher ) {
@@ -87,15 +88,15 @@ export default function createHttpMiddleware({
8788 fetchFunction = fetch
8889 }
8990
90- let abortController
91- if ( timeout || _abortController )
92- // eslint-disable-next-line
93- abortController = _abortController || new AbortController ( )
94-
9591 return ( next : Next ) : Next => (
9692 request : MiddlewareRequest ,
9793 response : MiddlewareResponse
9894 ) => {
95+ let abortController
96+ if ( timeout || getAbortController || _abortController )
97+ // eslint-disable-next-line
98+ abortController = getAbortController ( ) || _abortController || new AbortController ( )
99+
99100 const url = host . replace ( / \/ $ / , '' ) + request . uri
100101 const body =
101102 typeof request . body === 'string' || Buffer . isBuffer ( request . body )
0 commit comments