flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
57 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class HttpResponse {
constructor() {
this.body = '';
this.statusCode = 0;
this.statusMessage = '';
this.headers = {};
this.cookies = [];
}
static createEmpty() {
const r = new HttpResponse();
return r;
}
static fromRequest(response, body, cookies) {
const r = new HttpResponse();
r.statusCode = response.statusCode || 0;
r.statusMessage = response.statusMessage || '';
r.headers = response.headers;
r.body = body;
r.cookies = cookies;
return r;
}
static fromPuppeteer(response, body, cookies) {
const r = new HttpResponse();
r.statusCode = response.status();
r.statusMessage = response.statusText();
r.headers = response.headers();
r.body = body;
r.cookies = cookies;
return r;
}
static fromProbeImage(response, cookies) {
const r = new HttpResponse();
r.headers = {
'content-type': response.mime
};
r.body = JSON.stringify(response);
return r;
}
static fromLocalFile(relativePath) {
const r = new HttpResponse();
let fs = require('fs');
let path = __dirname + '/' + relativePath;
return new Promise((resolve, reject) => {
fs.readFile(path, function (err, data) {
if (err) {
return reject(err);
}
r.body = data.toString();
resolve(r);
});
});
}
}
exports.HttpResponse = HttpResponse;
//# sourceMappingURL=httpresponse.js.map