flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
58 lines • 1.78 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 fromNeedle(response) {
const r = new HttpResponse();
r.statusCode = response.statusCode || 0;
r.statusMessage = response.statusMessage || "";
r.headers = response.headers;
r.body = response.body;
r.cookies = response.cookies ? response.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);
r.cookies = cookies || {};
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