fetch-har
Make a fetch request from a HAR definition.
Installation
npm install --save fetch-har
Usage
const fetchHar = require('fetch-har');
global.fetch = require('node-fetch');
global.Headers = require('node-fetch').Headers;
global.Request = require('node-fetch').Request;
global.FormData = require('form-data');
const har = {
log: {
entries: [
{
request: {
headers: [
{
name: 'Authorization',
value: 'Bearer api-key',
},
{
name: 'Content-Type',
value: 'application/json',
},
],
queryString: [{ name: 'a', value: 1 }, { name: 'b', value: 2 }],
postData: {
mimeType: 'application/json',
text: '{"id":8,"category":{"id":6,"name":"name"},"name":"name"}',
},
method: 'POST',
url: 'http://httpbin.org/post',
},
},
],
},
};
fetchHar(har)
.then(request => request.json())
.then(console.log);
fetchHar(har, userAgent) => Promise
har
is a har file format.userAgent
is an optional user agent string to let you declare where the request is coming from.
Performs a fetch request from a given HAR definition. HAR definitions can be used to list lots of requests but we only use the first from the log.entries
array.
fetchHar.constructRequest(har, userAgent) => Request
har
is a har file format.userAgent
is an optional user agent string to let you declare where the request is coming from.
We also export a second function which is used to construct a Request object from your HAR.
This function is mainly exported for testing purposes but could be useful if you want to construct a request but do not want to execute it right away.