({ maxRedirections: defaultMaxRedirections, throwOnMaxRedirect: defaultThrowOnMaxRedirect, stripHeadersOnRedirect: defaultStripHeadersOnRedirect, stripHeadersOnCrossOriginRedirect: defaultStripHeadersOnCrossOriginRedirect } = {})
| 3 | const RedirectHandler = require('../handler/redirect-handler') |
| 4 | |
| 5 | function createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections, throwOnMaxRedirect: defaultThrowOnMaxRedirect, stripHeadersOnRedirect: defaultStripHeadersOnRedirect, stripHeadersOnCrossOriginRedirect: defaultStripHeadersOnCrossOriginRedirect } = {}) { |
| 6 | return (dispatch) => { |
| 7 | return function Intercept (opts, handler) { |
| 8 | const { maxRedirections = defaultMaxRedirections, throwOnMaxRedirect = defaultThrowOnMaxRedirect, stripHeadersOnRedirect = defaultStripHeadersOnRedirect, stripHeadersOnCrossOriginRedirect = defaultStripHeadersOnCrossOriginRedirect, ...rest } = opts |
| 9 | |
| 10 | if (maxRedirections == null || maxRedirections === 0) { |
| 11 | return dispatch(opts, handler) |
| 12 | } |
| 13 | |
| 14 | const dispatchOpts = { ...rest, throwOnMaxRedirect, stripHeadersOnRedirect, stripHeadersOnCrossOriginRedirect } // Stop sub dispatcher from also redirecting. |
| 15 | const redirectHandler = new RedirectHandler(dispatch, maxRedirections, dispatchOpts, handler) |
| 16 | return dispatch(dispatchOpts, redirectHandler) |
| 17 | } |
| 18 | } |
| 19 | } |
| 20 | |
| 21 | module.exports = createRedirectInterceptor |
nothing calls this directly
no test coverage detected