()
| 192 | const requestClone = request.clone() |
| 193 | |
| 194 | function passthrough() { |
| 195 | // Cast the request headers to a new Headers instance |
| 196 | // so the headers can be manipulated with. |
| 197 | const headers = new Headers(requestClone.headers) |
| 198 | |
| 199 | // Remove the "accept" header value that marked this request as passthrough. |
| 200 | // This prevents request alteration and also keeps it compliant with the |
| 201 | // user-defined CORS policies. |
| 202 | const acceptHeader = headers.get('accept') |
| 203 | if (acceptHeader) { |
| 204 | const values = acceptHeader.split(',').map((value) => value.trim()) |
| 205 | const filteredValues = values.filter( |
| 206 | (value) => value !== 'msw/passthrough', |
| 207 | ) |
| 208 | |
| 209 | if (filteredValues.length > 0) { |
| 210 | headers.set('accept', filteredValues.join(', ')) |
| 211 | } else { |
| 212 | headers.delete('accept') |
| 213 | } |
| 214 | } |
| 215 | |
| 216 | return fetch(requestClone, { headers }) |
| 217 | } |
| 218 | |
| 219 | // Bypass mocking when the client is not active. |
| 220 | if (!client) { |
no test coverage detected