UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

35 lines 5.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringifyHeaderValues = exports.fromBase64String = exports.toBase64String = exports.getResponseAsBuffer = exports.getResponseAsString = void 0; const testcafe_hammerhead_1 = require("testcafe-hammerhead"); function getResponseAsString(response, contentType) { if (!contentType) return response.base64Encoded ? Buffer.from(response.body, 'base64').toString() : response.body; const bufferBody = getResponseAsBuffer(response); return (0, testcafe_hammerhead_1.decodeBufferToString)(bufferBody, contentType); } exports.getResponseAsString = getResponseAsString; function getResponseAsBuffer(response) { return response.base64Encoded ? Buffer.from(response.body, 'base64') : Buffer.from(response.body); } exports.getResponseAsBuffer = getResponseAsBuffer; function toBase64String(str, contentType) { const bufferBody = contentType ? (0, testcafe_hammerhead_1.encodeStringToBuffer)(str, contentType) : Buffer.from(str); return bufferBody.toString('base64'); } exports.toBase64String = toBase64String; function fromBase64String(str) { return Buffer.from(str, 'base64'); } exports.fromBase64String = fromBase64String; function stringifyHeaderValues(headers) { return headers.map(({ name, value }) => { if (typeof value !== 'string') value = value.toString ? value.toString() : String(value); return { name, value }; }); } exports.stringifyHeaderValues = stringifyHeaderValues; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25hdGl2ZS1hdXRvbWF0aW9uL3V0aWxzL3N0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSw2REFBaUY7QUFFakYsU0FBZ0IsbUJBQW1CLENBQUUsUUFBaUMsRUFBRSxXQUFvQjtJQUN4RixJQUFJLENBQUMsV0FBVztRQUNaLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBRXBHLE1BQU0sVUFBVSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWpELE9BQU8sSUFBQSwwQ0FBb0IsRUFBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQVBELGtEQU9DO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUUsUUFBaUM7SUFDbEUsT0FBTyxRQUFRLENBQUMsYUFBYTtRQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0IsY0FBYyxDQUFFLEdBQVcsRUFBRSxXQUFvQjtJQUM3RCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUEsMENBQW9CLEVBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTNGLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBRSxHQUFXO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUZELDRDQUVDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUUsT0FBOEI7SUFDakUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUNuQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDekIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBUEQsc0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvdG9jb2wgZnJvbSAnZGV2dG9vbHMtcHJvdG9jb2wnO1xuaW1wb3J0IEdldFJlc3BvbnNlQm9keVJlc3BvbnNlID0gUHJvdG9jb2wuTmV0d29yay5HZXRSZXNwb25zZUJvZHlSZXNwb25zZTtcbmltcG9ydCBIZWFkZXJFbnRyeSA9IFByb3RvY29sLkZldGNoLkhlYWRlckVudHJ5O1xuaW1wb3J0IHsgZGVjb2RlQnVmZmVyVG9TdHJpbmcsIGVuY29kZVN0cmluZ1RvQnVmZmVyIH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNwb25zZUFzU3RyaW5nIChyZXNwb25zZTogR2V0UmVzcG9uc2VCb2R5UmVzcG9uc2UsIGNvbnRlbnRUeXBlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbnRlbnRUeXBlKVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmFzZTY0RW5jb2RlZCA/IEJ1ZmZlci5mcm9tKHJlc3BvbnNlLmJvZHksICdiYXNlNjQnKS50b1N0cmluZygpIDogcmVzcG9uc2UuYm9keTtcblxuICAgIGNvbnN0IGJ1ZmZlckJvZHkgPSBnZXRSZXNwb25zZUFzQnVmZmVyKHJlc3BvbnNlKTtcblxuICAgIHJldHVybiBkZWNvZGVCdWZmZXJUb1N0cmluZyhidWZmZXJCb2R5LCBjb250ZW50VHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNwb25zZUFzQnVmZmVyIChyZXNwb25zZTogR2V0UmVzcG9uc2VCb2R5UmVzcG9uc2UpOiBCdWZmZXIge1xuICAgIHJldHVybiByZXNwb25zZS5iYXNlNjRFbmNvZGVkXG4gICAgICAgID8gQnVmZmVyLmZyb20ocmVzcG9uc2UuYm9keSwgJ2Jhc2U2NCcpXG4gICAgICAgIDogQnVmZmVyLmZyb20ocmVzcG9uc2UuYm9keSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2U2NFN0cmluZyAoc3RyOiBzdHJpbmcsIGNvbnRlbnRUeXBlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBidWZmZXJCb2R5ID0gY29udGVudFR5cGUgPyBlbmNvZGVTdHJpbmdUb0J1ZmZlcihzdHIsIGNvbnRlbnRUeXBlKSA6IEJ1ZmZlci5mcm9tKHN0cik7XG5cbiAgICByZXR1cm4gYnVmZmVyQm9keS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQmFzZTY0U3RyaW5nIChzdHI6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHN0ciwgJ2Jhc2U2NCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5SGVhZGVyVmFsdWVzIChoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W10pOiBIZWFkZXJFbnRyeVtdIHtcbiAgICByZXR1cm4gaGVhZGVycy5tYXAoKHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcgPyB2YWx1ZS50b1N0cmluZygpIDogU3RyaW5nKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICAgIH0pO1xufVxuXG4iXX0=