Sha256: 50e734bfe5a77b499cea0b7eccd7e41e140784aeb879f74f6ce7489fc1902480

Contents?: true

Size: 703 Bytes

Versions: 26

Compression:

Stored size: 703 Bytes

Contents

import type { ServiceWorkerIncomingRequest } from '../setupWorker/glossary'

type Input = Pick<ServiceWorkerIncomingRequest, 'method' | 'body'>

/**
 * Ensures that an empty GET request body is always represented as `undefined`.
 */
export function pruneGetRequestBody(
  request: Input,
): ServiceWorkerIncomingRequest['body'] {
  // Force HEAD/GET request body to always be empty.
  // The worker reads any request's body as ArrayBuffer,
  // and you cannot re-construct a GET/HEAD Request
  // with an ArrayBuffer, even if empty. Also note that
  // "request.body" is always undefined in the worker.
  if (['HEAD', 'GET'].includes(request.method)) {
    return undefined
  }

  return request.body
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.25 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.24 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.23 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.22 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.21 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.20 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.19 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.18 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.17 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.16 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.15 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.14 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.13 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.12 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.11 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.10 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.9 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.8 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts
clapton-0.0.7 lib/clapton/javascripts/node_modules/msw/src/browser/utils/pruneGetRequestBody.ts