-
you can configurate a requestor.
-
each requestor response a promise
-
you have some options to handler request process.
npm i cl-requestor --save
const requestor = require('cl-requestor');
const httpRequest = requestor('http');
httpRequest({
hostname: '127.0.0.1',
port: 8000
}); // return a promise
{
headers: {},
body: null
}
opts = { bodyParser, optionsWraper, chunkHandler, throwBody }
http or https
Parse response body.
let httpRequest = requestor('http', {
bodyParser: (body) => JSON.parse(body)
});
httpRequest({
hostname: '127.0.0.1',
port: 8000
});
You can wrap the request options.
let httpRequest = requestor('http', {
optionsWraper: (options) => {
options.hostname = '127.0.0.1';
options.port = port;
options.headers.a ++;
return options; // remember returning options
}
});
httpRequest({
headers: {
a: 1
}
});
You can control the chunk when get response from server.
chunkHandler(chunk, type)
type: "data" | "end"
let chunks = [];
let httpRequest = requestor('http', {
chunkHandler: (chunk, type) => {
if(type === 'data') {
chunks.push(chunk);
} else if(type === 'end') {
console.log(chunks + '');
}
}
});
httpRequest({
hostname: '127.0.0.1',
port: 8000
});
When throwBody is true, response body of promise will be null.