0.0.1 • Published 7 years ago
nock-interceptor v0.0.1
Nock Interceptor
Library for intercept Node.js requests
Node.js 8+ support.
Quick Start
Installation
npm install --save nock-interceptorHow does it Works?
nock-interceptor works by overriding Node's http.request function. It also overrides http.ClientRequest that created internally and returned from http.request.
Usage
You can simply intercept all requests:
const interceptor = require('nock-interceptor');
interceptor.activate((request, reply, passthrough) => {
// do something
})Information about current request is in request object. And you can:
1. reply to request with your data by means of reply
2. or pass through request by means of passthrough.
Api
interceptor: Object
const interceptor = require('nock-interceptor');This object has two methods:
activate(callback).callbackhas 3 arguments:callback: (request, reply, passthrough) => void.destroy()Stop intercepting Node.js http requests.
Activate callback arguments:
request: Object
It is object which has information about current intercepted request.
const interceptor = require('nock-interceptor');
interceptor.activate((request, reply, passthrough) => {
const { method, headers, body, url, interceptedRequest } = request;
// do something, e.g. reply or passthrough depending on the request params
})method: string— request method.headers: Object— request headers.body: Buffer— request body.url: string— request url.interceptedRequest: InterceptedRequest— request object. TheInterceptedRequestclass extends originalhttp.ClientRequest.
reply: ({ status, headers, body }) => void
It is function for replying to intercepted request. It is provided 3 arguments for response:
status: number— response status (default 200).headers: Object— response headers.body: string | Buffer— response body.
const interceptor = require('nock-interceptor');
interceptor.activate((request, reply, passthrough) => {
// intercepted all requests and replied with a same response
reply({body: 'This request has been intercepted'})
})passthrough: async () => response
It is function for passthrough intercepted request. It returned response of request:
status: number— response status.headers: Object— response headers.body: Buffer— response body.
const interceptor = require('nock-interceptor');
interceptor.activate(async (request, reply, passthrough) => {
const response = await passthrough();
// e.g. logging response and request
})License
MIT
0.0.1
7 years ago