{"version":3,"sources":["../../../src/core/experimental/request-utils.ts"],"sourcesContent":["export const REQUEST_INTENTION_HEADER_NAME = 'x-msw-intention'\n\nexport enum RequestIntention {\n  passthrough = 'passthrough',\n}\n\nexport function shouldBypassRequest(request: Request): boolean {\n  return !!request.headers.get('accept')?.includes('msw/passthrough')\n}\n\nexport function isPassthroughResponse(response: Response): boolean {\n  return (\n    response.status === 302 &&\n    response.headers.get(REQUEST_INTENTION_HEADER_NAME) ===\n      RequestIntention.passthrough\n  )\n}\n\n/**\n * Remove the internal passthrough instruction from the request's `Accept` header.\n */\nexport function deleteRequestPassthroughHeader(request: Request): void {\n  const acceptHeader = request.headers.get('accept')\n\n  /**\n   * @note Remove the internal bypass request header.\n   * In the browser, this is done by the worker script.\n   * In Node.js, it has to be done here.\n   */\n  if (acceptHeader) {\n    const nextAcceptHeader = acceptHeader.replace(/(,\\s+)?msw\\/passthrough/, '')\n\n    if (nextAcceptHeader) {\n      request.headers.set('accept', nextAcceptHeader)\n    } else {\n      request.headers.delete('accept')\n    }\n  }\n}\n"],"mappings":"AAAO,MAAM,gCAAgC;AAEtC,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,kBAAA,iBAAc;AADJ,SAAAA;AAAA,GAAA;AAIL,SAAS,oBAAoB,SAA2B;AAC7D,SAAO,CAAC,CAAC,QAAQ,QAAQ,IAAI,QAAQ,GAAG,SAAS,iBAAiB;AACpE;AAEO,SAAS,sBAAsB,UAA6B;AACjE,SACE,SAAS,WAAW,OACpB,SAAS,QAAQ,IAAI,6BAA6B,MAChD;AAEN;AAKO,SAAS,+BAA+B,SAAwB;AACrE,QAAM,eAAe,QAAQ,QAAQ,IAAI,QAAQ;AAOjD,MAAI,cAAc;AAChB,UAAM,mBAAmB,aAAa,QAAQ,2BAA2B,EAAE;AAE3E,QAAI,kBAAkB;AACpB,cAAQ,QAAQ,IAAI,UAAU,gBAAgB;AAAA,IAChD,OAAO;AACL,cAAQ,QAAQ,OAAO,QAAQ;AAAA,IACjC;AAAA,EACF;AACF;","names":["RequestIntention"]}