MSWJS top-level constant

String const MSWJS

Implementation

const String MSWJS = """
    $MSWJS_BASE
    window.allRequest =  new Map();
    window.reclaimInterceptor.on('request', async ({ request, requestId }) => {
      try {
        window.allRequest.set(requestId, request.clone())
      } catch (err) {
        console.log('err', err)
      }
    })
    window.reclaimInterceptor.on('response', async ({requestId,response}) => {
      try{
        const request =   window.allRequest.get(requestId);
        const url = request.url.startsWith('/') ? window.location.origin + request.url :request.url ;
        let parsedHeaders = {}
        let requestMethod = request.method ? request.method : 'GET';
        if(request.headers && request.headers.get){
          parsedHeaders= Object.fromEntries(request.headers);
        }
        else{
          parsedHeaders= request.headers;
        }
        let responseText;
        if(typeof response.text === 'function'){
          const cloneResponse = response.clone()
          responseText =  await cloneResponse.text()
        }
        else{
          responseText = response.text
        }
        const headers = parsedHeaders;
        let requestBody;
        if (typeof request.text === 'function') {
          const cloneRequest = request.clone()
          requestBody = await cloneRequest.text()
        } else {
          requestBody = response.text
        }

""";