MCPcopy Create free account
hub / github.com/nodejs/node / createRedirectInterceptor

Function createRedirectInterceptor

deps/undici/src/lib/interceptor/redirect.js:5–19  ·  view source on GitHub ↗
({ maxRedirections: defaultMaxRedirections, throwOnMaxRedirect: defaultThrowOnMaxRedirect, stripHeadersOnRedirect: defaultStripHeadersOnRedirect, stripHeadersOnCrossOriginRedirect: defaultStripHeadersOnCrossOriginRedirect } = {})

Source from the content-addressed store, hash-verified

3const RedirectHandler = require('../handler/redirect-handler')
4
5function 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
21module.exports = createRedirectInterceptor

Callers

nothing calls this directly

Calls 1

dispatchFunction · 0.50

Tested by

no test coverage detected