flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
64 lines • 2.08 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 =
typeof response.body === "string"
? response.body
: response.body.toString("utf8");
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 = response.headers;
r.statusCode = response.statusCode;
r.body = JSON.stringify(Object.assign(Object.assign({}, response.imageData), {
length: response.length,
url: response.url,
mime: response.imageData.mimeType,
}));
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