"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const testcafe_hammerhead_1 = require("testcafe-hammerhead"); const test_run_1 = require("../../errors/test-run"); class RequestHook { constructor(ruleInit, responseEventConfigureOpts) { this._requestFilterRules = this._prepareRules(ruleInit); this._responseEventConfigureOpts = responseEventConfigureOpts; this._warningLog = null; this.id = (0, testcafe_hammerhead_1.generateUniqueId)(); this._className = this.constructor.name; } _prepareRules(ruleInit) { if (Array.isArray(ruleInit) && !ruleInit.length) return []; const rules = testcafe_hammerhead_1.RequestFilterRule.fromArray(ruleInit); return !rules.length ? [testcafe_hammerhead_1.RequestFilterRule.ANY] : rules; } async onRequest(event) { throw new test_run_1.RequestHookNotImplementedMethodError('onRequest', this.constructor.name); } async _onConfigureResponse(event) { if (!this._responseEventConfigureOpts) return; event.opts.includeHeaders = this._responseEventConfigureOpts.includeHeaders; event.opts.includeBody = this._responseEventConfigureOpts.includeBody; } async onResponse(event) { throw new test_run_1.RequestHookNotImplementedMethodError('onResponse', this.constructor.name); } } exports.default = RequestHook; module.exports = exports.default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcmVxdWVzdC1ob29rcy9ob29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkRBUTZCO0FBRTdCLG9EQUE2RTtBQUk3RSxNQUE4QixXQUFXO0lBT3JDLFlBQXVCLFFBQTBELEVBQUUsMEJBQTBEO1FBQ3pJLElBQUksQ0FBQyxtQkFBbUIsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQywyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFtQixJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLEVBQUUsR0FBNEIsSUFBQSxzQ0FBZ0IsR0FBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxVQUFVLEdBQW9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFTyxhQUFhLENBQUUsUUFBMEQ7UUFDN0UsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFFZCxNQUFNLEtBQUssR0FBRyx1Q0FBaUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFcEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMzRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBRSxLQUFtQjtRQUN2QyxNQUFNLElBQUksK0NBQW9DLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBRSxLQUE2QjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQjtZQUNqQyxPQUFPO1FBRVgsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGNBQWMsQ0FBQztRQUM1RSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxDQUFDO0lBQzdFLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFFLEtBQW9CO1FBQ3pDLE1BQU0sSUFBSSwrQ0FBb0MsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0NBQ0o7QUF2Q0QsOEJBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb25maWd1cmVSZXNwb25zZUV2ZW50LFxuICAgIENvbmZpZ3VyZVJlc3BvbnNlRXZlbnRPcHRpb25zLFxuICAgIFJlcXVlc3RFdmVudCxcbiAgICBSZXNwb25zZUV2ZW50LFxuICAgIFJlcXVlc3RGaWx0ZXJSdWxlLFxuICAgIFJlcXVlc3RGaWx0ZXJSdWxlSW5pdCxcbiAgICBnZW5lcmF0ZVVuaXF1ZUlkLFxufSBmcm9tICd0ZXN0Y2FmZS1oYW1tZXJoZWFkJztcblxuaW1wb3J0IHsgUmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZE1ldGhvZEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzL3Rlc3QtcnVuJztcbmltcG9ydCBXYXJuaW5nTG9nIGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbnMvd2FybmluZy1sb2cnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIFJlcXVlc3RIb29rIHtcbiAgICBwdWJsaWMgX3JlcXVlc3RGaWx0ZXJSdWxlczogUmVxdWVzdEZpbHRlclJ1bGVbXTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgX3Jlc3BvbnNlRXZlbnRDb25maWd1cmVPcHRzPzogQ29uZmlndXJlUmVzcG9uc2VFdmVudE9wdGlvbnM7XG4gICAgcHVibGljIF93YXJuaW5nTG9nOiBXYXJuaW5nTG9nIHwgbnVsbDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgX2NsYXNzTmFtZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yIChydWxlSW5pdD86IFJlcXVlc3RGaWx0ZXJSdWxlSW5pdCB8IFJlcXVlc3RGaWx0ZXJSdWxlSW5pdFtdLCByZXNwb25zZUV2ZW50Q29uZmlndXJlT3B0cz86IENvbmZpZ3VyZVJlc3BvbnNlRXZlbnRPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuX3JlcXVlc3RGaWx0ZXJSdWxlcyAgICAgICAgID0gdGhpcy5fcHJlcGFyZVJ1bGVzKHJ1bGVJbml0KTtcbiAgICAgICAgdGhpcy5fcmVzcG9uc2VFdmVudENvbmZpZ3VyZU9wdHMgPSByZXNwb25zZUV2ZW50Q29uZmlndXJlT3B0cztcbiAgICAgICAgdGhpcy5fd2FybmluZ0xvZyAgICAgICAgICAgICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLmlkICAgICAgICAgICAgICAgICAgICAgICAgICA9IGdlbmVyYXRlVW5pcXVlSWQoKTtcbiAgICAgICAgdGhpcy5fY2xhc3NOYW1lICAgICAgICAgICAgICAgICAgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJlcGFyZVJ1bGVzIChydWxlSW5pdD86IFJlcXVlc3RGaWx0ZXJSdWxlSW5pdCB8IFJlcXVlc3RGaWx0ZXJSdWxlSW5pdFtdKTogUmVxdWVzdEZpbHRlclJ1bGVbXSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJ1bGVJbml0KSAmJiAhcnVsZUluaXQubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuXG4gICAgICAgIGNvbnN0IHJ1bGVzID0gUmVxdWVzdEZpbHRlclJ1bGUuZnJvbUFycmF5KHJ1bGVJbml0KTtcblxuICAgICAgICByZXR1cm4gIXJ1bGVzLmxlbmd0aCA/IFtSZXF1ZXN0RmlsdGVyUnVsZS5BTlldIDogcnVsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG9uUmVxdWVzdCAoZXZlbnQ6IFJlcXVlc3RFdmVudCk6IFByb21pc2U8dm9pZD4geyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICB0aHJvdyBuZXcgUmVxdWVzdEhvb2tOb3RJbXBsZW1lbnRlZE1ldGhvZEVycm9yKCdvblJlcXVlc3QnLCB0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBfb25Db25maWd1cmVSZXNwb25zZSAoZXZlbnQ6IENvbmZpZ3VyZVJlc3BvbnNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9yZXNwb25zZUV2ZW50Q29uZmlndXJlT3B0cylcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBldmVudC5vcHRzLmluY2x1ZGVIZWFkZXJzID0gdGhpcy5fcmVzcG9uc2VFdmVudENvbmZpZ3VyZU9wdHMuaW5jbHVkZUhlYWRlcnM7XG4gICAgICAgIGV2ZW50Lm9wdHMuaW5jbHVkZUJvZHkgICAgPSB0aGlzLl9yZXNwb25zZUV2ZW50Q29uZmlndXJlT3B0cy5pbmNsdWRlQm9keTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25SZXNwb25zZSAoZXZlbnQ6IFJlc3BvbnNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgdGhyb3cgbmV3IFJlcXVlc3RIb29rTm90SW1wbGVtZW50ZWRNZXRob2RFcnJvcignb25SZXNwb25zZScsIHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gICAgfVxufVxuIl19