MCPcopy
hub / github.com/nock/nock / activate

Function activate

lib/interceptors/builtin.js:19–58  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17})
18
19function activate() {
20 interceptor.apply()
21
22 // Force msw to forward Nock's error instead of coerce it into 500 error
23 interceptor.on('unhandledException', ({ controller, error }) => {
24 controller.errorWith(error)
25 })
26 interceptor.on('request', async function ({ request, controller }) {
27 if (request.headers.get('expect') === '100-continue') {
28 // We currently do not support mocking 100-continue responses, so they are passed through for now.
29 return
30 }
31 const rawRequest = getRawRequest(request)
32
33 // If this is GET request with body, we need to read the body from the socket because Fetch API doesn't support this.
34 const requestBodyBuffer = common.decompressRequestBody(
35 rawRequest instanceof http.ClientRequest &&
36 request.method === 'GET' &&
37 request.headers.get('content-length') > 0
38 ? await arrayBuffer(getClientRequestBodyStream(request))
39 : await request.clone().arrayBuffer(),
40 request.headers.get('content-encoding') || '',
41 )
42
43 const decompressedRequest = new Request(request, {
44 body:
45 requestBodyBuffer.length > 0 && request.method !== 'GET'
46 ? requestBodyBuffer
47 : undefined,
48 })
49 if (requestBodyBuffer.byteLength > 0 && request.method === 'GET') {
50 setDecompressedGetBody(decompressedRequest, requestBodyBuffer)
51 }
52
53 const response = await handleRequest(decompressedRequest)
54 if (response) {
55 controller.respondWith(response)
56 }
57 })
58}
59
60function deactivate() {
61 interceptor.dispose()

Callers

nothing calls this directly

Calls 5

setDecompressedGetBodyFunction · 0.85
handleRequestFunction · 0.85
onMethod · 0.80
getMethod · 0.80
cloneMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…