-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrunner.js
More file actions
41 lines (35 loc) · 1 KB
/
runner.js
File metadata and controls
41 lines (35 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const superagent = require('superagent');
const RunRequest = record => {
const startedAt = new Date().getTime();
// excutes the request payload onto the new domain
const { request, config } = record;
const url = `${config.dest_base_url}${request.path}`;
const headers = Object.assign({}, request.headers, {
'x-repl-ip': request.ipaddress, // send the IP captured from request has additional header
'x-repl-auth': config.repl_auth_token
});
return superagent(request.method, url)
.set(headers)
.query(request.params)
.send(request.payload)
.then(httpRes => {
console.log(
`Executing request took ${new Date().getTime() - startedAt} millisecs`
);
return {
payload: httpRes.body,
headers: httpRes.headers,
status: httpRes.status
};
})
.catch(err => {
return {
payload: err.response.body,
headers: err.response.headers,
status: err.status
};
});
};
module.exports = {
RunRequest
};