"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRequestId = exports.createRequestPausedEventForResponse = exports.isPreflightRequest = exports.isRequestPausedEvent = exports.isUnauthorized = exports.isRequest = exports.dispatchEvent = exports.navigateTo = exports.redirect = void 0; const http_status_codes_1 = require("http-status-codes"); const headers_1 = require("./headers"); const types_1 = require("../types"); async function redirect(client, requestId, url) { await client.Fetch.fulfillRequest({ requestId, responseCode: http_status_codes_1.StatusCodes.MOVED_PERMANENTLY, responseHeaders: [ { name: 'location', value: url }, ], }); } exports.redirect = redirect; async function navigateTo(client, url) { await client.Page.navigate({ url }); } exports.navigateTo = navigateTo; async function dispatchEvent(client, type, options) { switch (+type) { case types_1.EventType.Mouse: await client.Input.dispatchMouseEvent(options); break; case types_1.EventType.Key: await client.Input.dispatchKeyEvent(options); break; case types_1.EventType.Touch: await client.Input.dispatchTouchEvent(options); break; default: throw new Error(`Unknown "${options.type}" event type`); } } exports.dispatchEvent = dispatchEvent; function isRequest(event) { return event.responseStatusCode === void 0; } exports.isRequest = isRequest; function isUnauthorized(statusCode) { return statusCode === 401; } exports.isUnauthorized = isUnauthorized; function isRequestPausedEvent(val) { return val && val.frameId && typeof val.request === 'object'; } exports.isRequestPausedEvent = isRequestPausedEvent; function isPreflightRequest(event) { return event.request.method === 'OPTIONS'; } exports.isPreflightRequest = isPreflightRequest; function createRequestPausedEventForResponse(mockedResponse, requestEvent) { return Object.assign({}, requestEvent, { responseStatusCode: mockedResponse.statusCode, responseHeaders: (0, headers_1.convertToHeaderEntries)(mockedResponse.headers), }); } exports.createRequestPausedEventForResponse = createRequestPausedEventForResponse; function getRequestId(event) { if (isRequestPausedEvent(event)) return event.networkId; return event.frame.loaderId; } exports.getRequestId = getRequestId; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3h5bGVzcy91dGlscy9jZHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQWdEO0FBS2hELHVDQUFtRDtBQUNuRCxvQ0FBcUM7QUFHOUIsS0FBSyxVQUFVLFFBQVEsQ0FBRSxNQUFtQixFQUFFLFNBQWlCLEVBQUUsR0FBVztJQUMvRSxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzlCLFNBQVM7UUFDVCxZQUFZLEVBQUssK0JBQVcsQ0FBQyxpQkFBaUI7UUFDOUMsZUFBZSxFQUFFO1lBQ2IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7U0FDbkM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDO0FBUkQsNEJBUUM7QUFFTSxLQUFLLFVBQVUsVUFBVSxDQUFFLE1BQW1CLEVBQUUsR0FBVztJQUM5RCxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRkQsZ0NBRUM7QUFFTSxLQUFLLFVBQVUsYUFBYSxDQUFFLE1BQW1CLEVBQUUsSUFBZSxFQUFFLE9BQVk7SUFDbkYsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNYLEtBQUssaUJBQVMsQ0FBQyxLQUFLO1lBQ2hCLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvQyxNQUFNO1FBQ1YsS0FBSyxpQkFBUyxDQUFDLEdBQUc7WUFDZCxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTTtRQUNWLEtBQUssaUJBQVMsQ0FBQyxLQUFLO1lBQ2hCLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvQyxNQUFNO1FBQ1Y7WUFDSSxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksT0FBTyxDQUFDLElBQUksY0FBYyxDQUFDLENBQUM7S0FDL0Q7QUFDTCxDQUFDO0FBZEQsc0NBY0M7QUFFRCxTQUFnQixTQUFTLENBQUUsS0FBeUI7SUFDaEQsT0FBTyxLQUFLLENBQUMsa0JBQWtCLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUZELDhCQUVDO0FBRUQsU0FBZ0IsY0FBYyxDQUFFLFVBQWtCO0lBQzlDLE9BQU8sVUFBVSxLQUFLLEdBQUcsQ0FBQztBQUM5QixDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBRSxHQUFRO0lBQzFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxHQUFHLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztBQUNqRSxDQUFDO0FBRkQsb0RBRUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBRSxLQUF5QjtJQUN6RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUM5QyxDQUFDO0FBRkQsZ0RBRUM7QUFFRCxTQUFnQixtQ0FBbUMsQ0FBRSxjQUFtQyxFQUFFLFlBQWdDO0lBQ3RILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFO1FBQ25DLGtCQUFrQixFQUFFLGNBQWMsQ0FBQyxVQUFVO1FBQzdDLGVBQWUsRUFBSyxJQUFBLGdDQUFzQixFQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7S0FDckUsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUxELGtGQUtDO0FBRUQsU0FBZ0IsWUFBWSxDQUFFLEtBQStDO0lBQ3pFLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDLFNBQW1CLENBQUM7SUFFckMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUNoQyxDQUFDO0FBTEQsb0NBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm90b2NvbEFwaSB9IGZyb20gJ2Nocm9tZS1yZW1vdGUtaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0NvZGVzIH0gZnJvbSAnaHR0cC1zdGF0dXMtY29kZXMnO1xuaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sJztcbmltcG9ydCBSZXF1ZXN0UGF1c2VkRXZlbnQgPSBQcm90b2NvbC5GZXRjaC5SZXF1ZXN0UGF1c2VkRXZlbnQ7XG5pbXBvcnQgRnJhbWVOYXZpZ2F0ZWRFdmVudCA9IFByb3RvY29sLlBhZ2UuRnJhbWVOYXZpZ2F0ZWRFdmVudDtcbmltcG9ydCB7IEluY29taW5nTWVzc2FnZUxpa2UgfSBmcm9tICd0ZXN0Y2FmZS1oYW1tZXJoZWFkJztcbmltcG9ydCB7IGNvbnZlcnRUb0hlYWRlckVudHJpZXMgfSBmcm9tICcuL2hlYWRlcnMnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWRpcmVjdCAoY2xpZW50OiBQcm90b2NvbEFwaSwgcmVxdWVzdElkOiBzdHJpbmcsIHVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgY2xpZW50LkZldGNoLmZ1bGZpbGxSZXF1ZXN0KHtcbiAgICAgICAgcmVxdWVzdElkLFxuICAgICAgICByZXNwb25zZUNvZGU6ICAgIFN0YXR1c0NvZGVzLk1PVkVEX1BFUk1BTkVOVExZLFxuICAgICAgICByZXNwb25zZUhlYWRlcnM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2xvY2F0aW9uJywgdmFsdWU6IHVybCB9LFxuICAgICAgICBdLFxuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVUbyAoY2xpZW50OiBQcm90b2NvbEFwaSwgdXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBjbGllbnQuUGFnZS5uYXZpZ2F0ZSh7IHVybCB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRpc3BhdGNoRXZlbnQgKGNsaWVudDogUHJvdG9jb2xBcGksIHR5cGU6IEV2ZW50VHlwZSwgb3B0aW9uczogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3dpdGNoICgrdHlwZSkge1xuICAgICAgICBjYXNlIEV2ZW50VHlwZS5Nb3VzZTpcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5JbnB1dC5kaXNwYXRjaE1vdXNlRXZlbnQob3B0aW9ucyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFdmVudFR5cGUuS2V5OlxuICAgICAgICAgICAgYXdhaXQgY2xpZW50LklucHV0LmRpc3BhdGNoS2V5RXZlbnQob3B0aW9ucyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFdmVudFR5cGUuVG91Y2g6XG4gICAgICAgICAgICBhd2FpdCBjbGllbnQuSW5wdXQuZGlzcGF0Y2hUb3VjaEV2ZW50KG9wdGlvbnMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gXCIke29wdGlvbnMudHlwZX1cIiBldmVudCB0eXBlYCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZXF1ZXN0IChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50LnJlc3BvbnNlU3RhdHVzQ29kZSA9PT0gdm9pZCAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmF1dGhvcml6ZWQgKHN0YXR1c0NvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlID09PSA0MDE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlcXVlc3RQYXVzZWRFdmVudCAodmFsOiBhbnkpOiB2YWwgaXMgUmVxdWVzdFBhdXNlZEV2ZW50IHtcbiAgICByZXR1cm4gdmFsICYmIHZhbC5mcmFtZUlkICYmIHR5cGVvZiB2YWwucmVxdWVzdCA9PT0gJ29iamVjdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZWZsaWdodFJlcXVlc3QgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXZlbnQucmVxdWVzdC5tZXRob2QgPT09ICdPUFRJT05TJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RQYXVzZWRFdmVudEZvclJlc3BvbnNlIChtb2NrZWRSZXNwb25zZTogSW5jb21pbmdNZXNzYWdlTGlrZSwgcmVxdWVzdEV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQpOiBSZXF1ZXN0UGF1c2VkRXZlbnQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXF1ZXN0RXZlbnQsIHtcbiAgICAgICAgcmVzcG9uc2VTdGF0dXNDb2RlOiBtb2NrZWRSZXNwb25zZS5zdGF0dXNDb2RlLFxuICAgICAgICByZXNwb25zZUhlYWRlcnM6ICAgIGNvbnZlcnRUb0hlYWRlckVudHJpZXMobW9ja2VkUmVzcG9uc2UuaGVhZGVycyksXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXF1ZXN0SWQgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQgfCBGcmFtZU5hdmlnYXRlZEV2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAoaXNSZXF1ZXN0UGF1c2VkRXZlbnQoZXZlbnQpKVxuICAgICAgICByZXR1cm4gZXZlbnQubmV0d29ya0lkIGFzIHN0cmluZztcblxuICAgIHJldHVybiBldmVudC5mcmFtZS5sb2FkZXJJZDtcbn1cbiJdfQ==