@remotion/renderer 3.0.22 → 3.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/calculate-asset-positions.d.ts +2 -2
- package/dist/assets/calculate-asset-positions.d.ts.map +1 -0
- package/dist/assets/calculate-asset-positions.js.map +1 -0
- package/dist/assets/calculate-atempo.d.ts.map +1 -0
- package/dist/assets/calculate-atempo.js.map +1 -0
- package/dist/assets/convert-assets-to-file-urls.d.ts +2 -2
- package/dist/assets/convert-assets-to-file-urls.d.ts.map +1 -0
- package/dist/assets/convert-assets-to-file-urls.js.map +1 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts +1 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +1 -0
- package/dist/assets/download-and-map-assets-to-file.js.map +1 -0
- package/dist/assets/download-file.d.ts.map +1 -0
- package/dist/assets/download-file.js.map +1 -0
- package/dist/assets/ffmpeg-volume-expression.d.ts +1 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts.map +1 -0
- package/dist/assets/ffmpeg-volume-expression.js.map +1 -0
- package/dist/assets/flatten-volume-array.d.ts +1 -1
- package/dist/assets/flatten-volume-array.d.ts.map +1 -0
- package/dist/assets/flatten-volume-array.js.map +1 -0
- package/dist/assets/get-audio-channels.d.ts +1 -1
- package/dist/assets/get-audio-channels.d.ts.map +1 -0
- package/dist/assets/get-audio-channels.js.map +1 -0
- package/dist/assets/read-file.d.ts.map +1 -0
- package/dist/assets/read-file.js.map +1 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +1 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +1 -0
- package/dist/assets/sanitize-filename.d.ts.map +1 -0
- package/dist/assets/sanitize-filename.js.map +1 -0
- package/dist/assets/sanitize-filepath.d.ts.map +1 -0
- package/dist/assets/sanitize-filepath.js.map +1 -0
- package/dist/assets/truncate-utf8-bytes.d.ts.map +1 -0
- package/dist/assets/truncate-utf8-bytes.js.map +1 -0
- package/dist/assets/types.d.ts +1 -1
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/assets/types.js.map +1 -0
- package/dist/browser/Accessibility.d.ts +175 -0
- package/dist/browser/Accessibility.js +423 -0
- package/dist/browser/AriaQueryHandler.d.ts +20 -0
- package/dist/browser/AriaQueryHandler.js +108 -0
- package/dist/browser/BrowserConnector.d.ts +7 -0
- package/dist/browser/BrowserConnector.js +32 -0
- package/dist/browser/BrowserFetcher.d.ts +2 -2
- package/dist/browser/BrowserFetcher.js +48 -28
- package/dist/browser/Connection.d.ts +4 -4
- package/dist/browser/Connection.js +2 -2
- package/dist/browser/ConsoleMessage.d.ts +27 -3
- package/dist/browser/ConsoleMessage.js +32 -5
- package/dist/browser/Coverage.d.ts +180 -0
- package/dist/browser/Coverage.js +371 -0
- package/dist/browser/Debug.d.ts +19 -0
- package/dist/browser/Debug.js +42 -0
- package/dist/browser/DeviceDescriptors.d.ts +40 -0
- package/dist/browser/DeviceDescriptors.js +1407 -0
- package/dist/browser/ExecutionContext.d.ts +3 -1
- package/dist/browser/ExecutionContext.js +16 -0
- package/dist/browser/FileChooser.d.ts +56 -0
- package/dist/browser/FileChooser.js +86 -0
- package/dist/browser/FrameManager.d.ts +1 -1
- package/dist/browser/HTTPRequest.d.ts +16 -2
- package/dist/browser/HTTPRequest.js +48 -3
- package/dist/browser/HTTPResponse.d.ts +80 -2
- package/dist/browser/HTTPResponse.js +166 -3
- package/dist/browser/Input.d.ts +355 -0
- package/dist/browser/Input.js +592 -0
- package/dist/browser/JSHandle.d.ts +1 -1
- package/dist/browser/NetworkConditions.d.ts +26 -0
- package/dist/browser/NetworkConditions.js +33 -0
- package/dist/browser/NetworkEventManager.d.ts +1 -1
- package/dist/browser/NetworkManager.js +7 -3
- package/dist/browser/NodeWebSocketTransport.d.ts +2 -8
- package/dist/browser/NodeWebSocketTransport.js +1 -1
- package/dist/browser/PDFOptions.d.ts +165 -0
- package/dist/browser/PDFOptions.js +34 -0
- package/dist/browser/PipeTransport.d.ts +10 -0
- package/dist/browser/PipeTransport.js +86 -0
- package/dist/browser/Puppeteer.d.ts +35 -0
- package/dist/browser/Puppeteer.js +17 -0
- package/dist/browser/PuppeteerNode.d.ts +4 -1
- package/dist/browser/PuppeteerNode.js +8 -0
- package/dist/browser/QueryHandler.d.ts +64 -0
- package/dist/browser/QueryHandler.js +183 -0
- package/dist/browser/SecurityDetails.d.ts +55 -0
- package/dist/browser/SecurityDetails.js +95 -0
- package/dist/browser/Target.d.ts +1 -1
- package/dist/browser/Tracing.d.ts +45 -0
- package/dist/browser/Tracing.js +136 -0
- package/dist/browser/USKeyboardLayout.d.ts +39 -0
- package/dist/browser/USKeyboardLayout.js +406 -0
- package/dist/browser/WebWorker.d.ts +96 -0
- package/dist/browser/WebWorker.js +122 -0
- package/dist/browser/create-browser-fetcher.js +14 -1
- package/dist/browser/dialog.d.ts +70 -0
- package/dist/browser/dialog.js +114 -0
- package/dist/browser/fetch.d.ts +16 -0
- package/dist/browser/fetch.js +46 -0
- package/dist/browser/find-up.d.ts +4 -0
- package/dist/browser/find-up.js +85 -0
- package/dist/browser/{Page.d.ts → page.d.ts} +4 -0
- package/dist/browser/{Page.js → page.js} +9 -14
- package/dist/browser/pkg-dir.d.ts +3 -0
- package/dist/browser/pkg-dir.js +13 -0
- package/dist/browser/util.d.ts +1 -1
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser-log.d.ts.map +1 -0
- package/dist/browser-log.js.map +1 -0
- package/dist/calculate-ffmpeg-filters.d.ts +1 -1
- package/dist/calculate-ffmpeg-filters.d.ts.map +1 -0
- package/dist/calculate-ffmpeg-filters.js.map +1 -0
- package/dist/can-use-parallel-encoding.d.ts +1 -1
- package/dist/can-use-parallel-encoding.d.ts.map +1 -0
- package/dist/can-use-parallel-encoding.js.map +1 -0
- package/dist/chunk.d.ts.map +1 -0
- package/dist/chunk.js.map +1 -0
- package/dist/combine-videos.d.ts +1 -1
- package/dist/combine-videos.d.ts.map +1 -0
- package/dist/combine-videos.js.map +1 -0
- package/dist/convert-to-pcm.d.ts +1 -1
- package/dist/convert-to-pcm.d.ts.map +1 -0
- package/dist/convert-to-pcm.js.map +1 -0
- package/dist/create-ffmpeg-complex-filter.d.ts.map +1 -0
- package/dist/create-ffmpeg-complex-filter.js.map +1 -0
- package/dist/create-ffmpeg-merge-filter.d.ts.map +1 -0
- package/dist/create-ffmpeg-merge-filter.js.map +1 -0
- package/dist/create-silent-audio.d.ts +1 -1
- package/dist/create-silent-audio.d.ts.map +1 -0
- package/dist/create-silent-audio.js.map +1 -0
- package/dist/cycle-browser-tabs.d.ts +1 -1
- package/dist/cycle-browser-tabs.d.ts.map +1 -0
- package/dist/cycle-browser-tabs.js.map +1 -0
- package/dist/delay-render-embedded-stack.d.ts +1 -1
- package/dist/delay-render-embedded-stack.d.ts.map +1 -0
- package/dist/delay-render-embedded-stack.js.map +1 -0
- package/dist/delete-directory.d.ts.map +1 -0
- package/dist/delete-directory.js.map +1 -0
- package/dist/ensure-frames-in-order.d.ts.map +1 -0
- package/dist/ensure-frames-in-order.js.map +1 -0
- package/dist/ensure-output-directory.d.ts.map +1 -0
- package/dist/ensure-output-directory.js.map +1 -0
- package/dist/ensure-presentation-timestamp.d.ts +1 -1
- package/dist/ensure-presentation-timestamp.js +1 -1
- package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
- package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
- package/dist/error-handling/handle-javascript-exception.js.map +1 -0
- package/dist/error-handling/symbolicate-error.d.ts +1 -1
- package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
- package/dist/error-handling/symbolicate-error.js.map +1 -0
- package/dist/error-handling/symbolicateable-error.d.ts +1 -1
- package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
- package/dist/error-handling/symbolicateable-error.js.map +1 -0
- package/dist/extract-frame-from-video.d.ts +3 -4
- package/dist/ffmpeg-filter-file.d.ts.map +1 -0
- package/dist/ffmpeg-filter-file.js.map +1 -0
- package/dist/ffmpeg-flags.d.ts.map +1 -0
- package/dist/ffmpeg-flags.js.map +1 -0
- package/dist/get-audio-codec-name.d.ts +1 -1
- package/dist/get-audio-codec-name.d.ts.map +1 -0
- package/dist/get-audio-codec-name.js.map +1 -0
- package/dist/get-browser-instance.d.ts +3 -3
- package/dist/get-browser-instance.d.ts.map +1 -0
- package/dist/get-browser-instance.js.map +1 -0
- package/dist/get-codec-name.d.ts +1 -1
- package/dist/get-codec-name.d.ts.map +1 -0
- package/dist/get-codec-name.js.map +1 -0
- package/dist/get-compositions.d.ts +4 -4
- package/dist/get-compositions.d.ts.map +1 -0
- package/dist/get-compositions.js.map +1 -0
- package/dist/get-concurrency.d.ts.map +1 -0
- package/dist/get-concurrency.js.map +1 -0
- package/dist/get-duration-from-frame-range.d.ts +1 -1
- package/dist/get-duration-from-frame-range.d.ts.map +1 -0
- package/dist/get-duration-from-frame-range.js.map +1 -0
- package/dist/get-extension-from-codec.d.ts +1 -1
- package/dist/get-extension-from-codec.d.ts.map +1 -0
- package/dist/get-extension-from-codec.js.map +1 -0
- package/dist/get-frame-to-render.d.ts +1 -1
- package/dist/get-frame-to-render.d.ts.map +1 -0
- package/dist/get-frame-to-render.js.map +1 -0
- package/dist/get-local-browser-executable.d.ts +1 -1
- package/dist/get-local-browser-executable.d.ts.map +1 -0
- package/dist/get-local-browser-executable.js.map +1 -0
- package/dist/get-port.d.ts.map +1 -0
- package/dist/get-port.js.map +1 -0
- package/dist/get-prores-profile-name.d.ts +1 -1
- package/dist/get-prores-profile-name.d.ts.map +1 -0
- package/dist/get-prores-profile-name.js.map +1 -0
- package/dist/image-format.d.ts +1 -1
- package/dist/image-format.d.ts.map +1 -0
- package/dist/image-format.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/is-serve-url.d.ts.map +1 -0
- package/dist/is-serve-url.js.map +1 -0
- package/dist/is-vp9-video.d.ts +1 -1
- package/dist/last-frame-from-video-cache.d.ts +2 -3
- package/dist/legacy-webpack-config.d.ts.map +1 -0
- package/dist/legacy-webpack-config.js.map +1 -0
- package/dist/make-assets-download-dir.d.ts.map +1 -0
- package/dist/make-assets-download-dir.js.map +1 -0
- package/dist/merge-audio-track.d.ts +1 -1
- package/dist/merge-audio-track.d.ts.map +1 -0
- package/dist/merge-audio-track.js.map +1 -0
- package/dist/normalize-serve-url.d.ts.map +1 -0
- package/dist/normalize-serve-url.js.map +1 -0
- package/dist/offthread-video-server.d.ts +3 -3
- package/dist/open-browser.d.ts +1 -1
- package/dist/open-browser.d.ts.map +1 -0
- package/dist/open-browser.js.map +1 -0
- package/dist/p-limit.d.ts.map +1 -0
- package/dist/p-limit.js.map +1 -0
- package/dist/parse-browser-error-stack.d.ts.map +1 -0
- package/dist/parse-browser-error-stack.js.map +1 -0
- package/dist/parse-ffmpeg-progress.d.ts.map +1 -0
- package/dist/parse-ffmpeg-progress.js.map +1 -0
- package/dist/pool.d.ts.map +1 -0
- package/dist/pool.js.map +1 -0
- package/dist/prepare-server.d.ts +2 -2
- package/dist/prepare-server.d.ts.map +1 -0
- package/dist/prepare-server.js.map +1 -0
- package/dist/preprocess-audio-track.d.ts +2 -2
- package/dist/preprocess-audio-track.d.ts.map +1 -0
- package/dist/preprocess-audio-track.js.map +1 -0
- package/dist/prespawn-ffmpeg.d.ts +2 -2
- package/dist/prespawn-ffmpeg.d.ts.map +1 -0
- package/dist/prespawn-ffmpeg.js.map +1 -0
- package/dist/provide-screenshot.d.ts +2 -3
- package/dist/provide-screenshot.d.ts.map +1 -0
- package/dist/provide-screenshot.js.map +1 -0
- package/dist/puppeteer-evaluate.d.ts +1 -1
- package/dist/puppeteer-evaluate.d.ts.map +1 -0
- package/dist/puppeteer-evaluate.js +0 -1
- package/dist/puppeteer-evaluate.js.map +1 -0
- package/dist/puppeteer-screenshot.d.ts +1 -2
- package/dist/puppeteer-screenshot.d.ts.map +1 -0
- package/dist/puppeteer-screenshot.js.map +1 -0
- package/dist/render-frames.d.ts +8 -8
- package/dist/render-frames.d.ts.map +1 -0
- package/dist/render-frames.js.map +1 -0
- package/dist/render-media.d.ts +7 -7
- package/dist/render-media.d.ts.map +1 -0
- package/dist/render-media.js.map +1 -0
- package/dist/render-still.d.ts +6 -6
- package/dist/render-still.d.ts.map +1 -0
- package/dist/render-still.js.map +1 -0
- package/dist/resolve-asset-src.d.ts.map +1 -0
- package/dist/resolve-asset-src.js.map +1 -0
- package/dist/sample-rate.d.ts.map +1 -0
- package/dist/sample-rate.js.map +1 -0
- package/dist/screenshot-dom-element.d.ts +2 -3
- package/dist/screenshot-dom-element.d.ts.map +1 -0
- package/dist/screenshot-dom-element.js.map +1 -0
- package/dist/screenshot-task.d.ts +2 -3
- package/dist/screenshot-task.d.ts.map +1 -0
- package/dist/screenshot-task.js.map +1 -0
- package/dist/seek-to-frame.d.ts +1 -1
- package/dist/seek-to-frame.d.ts.map +1 -0
- package/dist/seek-to-frame.js.map +1 -0
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/index.js +0 -1
- package/dist/serve-static.d.ts +2 -2
- package/dist/serve-static.d.ts.map +1 -0
- package/dist/serve-static.js.map +1 -0
- package/dist/set-props-and-env.d.ts +1 -1
- package/dist/set-props-and-env.d.ts.map +1 -0
- package/dist/set-props-and-env.js.map +1 -0
- package/dist/stitch-frames-to-video.d.ts +3 -3
- package/dist/stitch-frames-to-video.d.ts.map +1 -0
- package/dist/stitch-frames-to-video.js.map +1 -0
- package/dist/stringify-ffmpeg-filter.d.ts +1 -1
- package/dist/stringify-ffmpeg-filter.d.ts.map +1 -0
- package/dist/stringify-ffmpeg-filter.js.map +1 -0
- package/dist/symbolicate-stacktrace.d.ts +1 -1
- package/dist/symbolicate-stacktrace.d.ts.map +1 -0
- package/dist/symbolicate-stacktrace.js.map +1 -0
- package/dist/tmp-dir.d.ts.map +1 -0
- package/dist/tmp-dir.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
- package/dist/validate-even-dimensions-with-codec.d.ts.map +1 -0
- package/dist/validate-even-dimensions-with-codec.js.map +1 -0
- package/dist/validate-ffmpeg.d.ts.map +1 -0
- package/dist/validate-ffmpeg.js.map +1 -0
- package/dist/validate-output-filename.d.ts +1 -1
- package/dist/validate-puppeteer-timeout.d.ts.map +1 -0
- package/dist/validate-puppeteer-timeout.js.map +1 -0
- package/dist/validate-scale.d.ts.map +1 -0
- package/dist/validate-scale.js.map +1 -0
- package/package.json +4 -4
- package/dist/abort.d.ts +0 -7
- package/dist/abort.js +0 -20
- package/dist/cancel.d.ts +0 -7
- package/dist/cancel.js +0 -25
- package/dist/ensure-faststart.d.ts +0 -1
- package/dist/ensure-faststart.js +0 -14
- package/dist/faststart/atom.d.ts +0 -35
- package/dist/faststart/atom.js +0 -138
- package/dist/faststart/index.d.ts +0 -0
- package/dist/faststart/index.js +0 -1
- package/dist/faststart/options.d.ts +0 -6
- package/dist/faststart/options.js +0 -2
- package/dist/faststart/qt-faststart.d.ts +0 -18
- package/dist/faststart/qt-faststart.js +0 -66
- package/dist/faststart/update-chunk-offsets.d.ts +0 -10
- package/dist/faststart/update-chunk-offsets.js +0 -114
- package/dist/faststart/util.d.ts +0 -9
- package/dist/faststart/util.js +0 -34
- package/dist/offthread/index.d.ts +0 -0
- package/dist/offthread/index.js +0 -1
- package/dist/render-gif.d.ts +0 -2
- package/dist/render-gif.js +0 -242
- package/dist/should-use-vp9-decoder.d.ts +0 -0
- package/dist/should-use-vp9-decoder.js +0 -1
- package/dist/stitch-frames-to-gif.d.ts +0 -8
- package/dist/stitch-frames-to-gif.js +0 -128
- package/dist/validate-offthreadvideo-image-format.d.ts +0 -1
- package/dist/validate-offthreadvideo-image-format.js +0 -15
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import
|
|
16
|
+
import { Protocol } from 'devtools-protocol';
|
|
17
17
|
import { CDPSession } from './Connection';
|
|
18
18
|
import { DOMWorld } from './DOMWorld';
|
|
19
19
|
import { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
|
|
@@ -30,4 +30,6 @@ export declare class ExecutionContext {
|
|
|
30
30
|
frame(): Frame | null;
|
|
31
31
|
evaluate<ReturnType>(pageFunction: Function | string, ...args: unknown[]): Promise<ReturnType>;
|
|
32
32
|
evaluateHandle<HandleType extends JSHandle | ElementHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType>;
|
|
33
|
+
_adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>;
|
|
34
|
+
_adoptElementHandle(elementHandle: ElementHandle): Promise<ElementHandle>;
|
|
33
35
|
}
|
|
@@ -24,6 +24,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
24
24
|
var _ExecutionContext_instances, _ExecutionContext_evaluate;
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.ExecutionContext = exports.EVALUATION_SCRIPT_URL = void 0;
|
|
27
|
+
const assert_1 = require("./assert");
|
|
27
28
|
const JSHandle_1 = require("./JSHandle");
|
|
28
29
|
const util_1 = require("./util");
|
|
29
30
|
exports.EVALUATION_SCRIPT_URL = 'pptr://__puppeteer_evaluation_script__';
|
|
@@ -45,6 +46,21 @@ class ExecutionContext {
|
|
|
45
46
|
evaluateHandle(pageFunction, ...args) {
|
|
46
47
|
return __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, false, pageFunction, ...args);
|
|
47
48
|
}
|
|
49
|
+
async _adoptBackendNodeId(backendNodeId) {
|
|
50
|
+
const { object } = await this._client.send('DOM.resolveNode', {
|
|
51
|
+
backendNodeId,
|
|
52
|
+
executionContextId: this._contextId,
|
|
53
|
+
});
|
|
54
|
+
return (0, JSHandle_1._createJSHandle)(this, object);
|
|
55
|
+
}
|
|
56
|
+
async _adoptElementHandle(elementHandle) {
|
|
57
|
+
(0, assert_1.assert)(elementHandle.executionContext() !== this, 'Cannot adopt handle that already belongs to this execution context');
|
|
58
|
+
(0, assert_1.assert)(this._world, 'Cannot adopt handle without DOMWorld');
|
|
59
|
+
const nodeInfo = await this._client.send('DOM.describeNode', {
|
|
60
|
+
objectId: elementHandle._remoteObject.objectId,
|
|
61
|
+
});
|
|
62
|
+
return this._adoptBackendNodeId(nodeInfo.node.backendNodeId);
|
|
63
|
+
}
|
|
48
64
|
}
|
|
49
65
|
exports.ExecutionContext = ExecutionContext;
|
|
50
66
|
_ExecutionContext_instances = new WeakSet(), _ExecutionContext_evaluate = async function _ExecutionContext_evaluate(returnByValue, pageFunction, ...args) {
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2020 Google Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Protocol } from 'devtools-protocol';
|
|
17
|
+
import { ElementHandle } from './JSHandle';
|
|
18
|
+
/**
|
|
19
|
+
* File choosers let you react to the page requesting for a file.
|
|
20
|
+
* @remarks
|
|
21
|
+
* `FileChooser` objects are returned via the `page.waitForFileChooser` method.
|
|
22
|
+
* @example
|
|
23
|
+
* An example of using `FileChooser`:
|
|
24
|
+
* ```js
|
|
25
|
+
* const [fileChooser] = await Promise.all([
|
|
26
|
+
* page.waitForFileChooser(),
|
|
27
|
+
* page.click('#upload-file-button'), // some button that triggers file selection
|
|
28
|
+
* ]);
|
|
29
|
+
* await fileChooser.accept(['/tmp/myfile.pdf']);
|
|
30
|
+
* ```
|
|
31
|
+
* **NOTE** In browsers, only one file chooser can be opened at a time.
|
|
32
|
+
* All file choosers must be accepted or canceled. Not doing so will prevent
|
|
33
|
+
* subsequent file choosers from appearing.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare class FileChooser {
|
|
37
|
+
#private;
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
constructor(element: ElementHandle, event: Protocol.Page.FileChooserOpenedEvent);
|
|
42
|
+
/**
|
|
43
|
+
* Whether file chooser allow for {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple | multiple} file selection.
|
|
44
|
+
*/
|
|
45
|
+
isMultiple(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Accept the file chooser request with given paths.
|
|
48
|
+
* @param filePaths - If some of the `filePaths` are relative paths,
|
|
49
|
+
* then they are resolved relative to the {@link https://nodejs.org/api/process.html#process_process_cwd | current working directory}.
|
|
50
|
+
*/
|
|
51
|
+
accept(filePaths: string[]): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Closes the file chooser without selecting any files.
|
|
54
|
+
*/
|
|
55
|
+
cancel(): void;
|
|
56
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2020 Google Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
18
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
19
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
20
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
21
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
22
|
+
};
|
|
23
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
24
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
25
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
26
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
27
|
+
};
|
|
28
|
+
var _FileChooser_element, _FileChooser_multiple, _FileChooser_handled;
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.FileChooser = void 0;
|
|
31
|
+
const assert_1 = require("./assert");
|
|
32
|
+
/**
|
|
33
|
+
* File choosers let you react to the page requesting for a file.
|
|
34
|
+
* @remarks
|
|
35
|
+
* `FileChooser` objects are returned via the `page.waitForFileChooser` method.
|
|
36
|
+
* @example
|
|
37
|
+
* An example of using `FileChooser`:
|
|
38
|
+
* ```js
|
|
39
|
+
* const [fileChooser] = await Promise.all([
|
|
40
|
+
* page.waitForFileChooser(),
|
|
41
|
+
* page.click('#upload-file-button'), // some button that triggers file selection
|
|
42
|
+
* ]);
|
|
43
|
+
* await fileChooser.accept(['/tmp/myfile.pdf']);
|
|
44
|
+
* ```
|
|
45
|
+
* **NOTE** In browsers, only one file chooser can be opened at a time.
|
|
46
|
+
* All file choosers must be accepted or canceled. Not doing so will prevent
|
|
47
|
+
* subsequent file choosers from appearing.
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
class FileChooser {
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
constructor(element, event) {
|
|
55
|
+
_FileChooser_element.set(this, void 0);
|
|
56
|
+
_FileChooser_multiple.set(this, void 0);
|
|
57
|
+
_FileChooser_handled.set(this, false);
|
|
58
|
+
__classPrivateFieldSet(this, _FileChooser_element, element, "f");
|
|
59
|
+
__classPrivateFieldSet(this, _FileChooser_multiple, event.mode !== 'selectSingle', "f");
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether file chooser allow for {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#attr-multiple | multiple} file selection.
|
|
63
|
+
*/
|
|
64
|
+
isMultiple() {
|
|
65
|
+
return __classPrivateFieldGet(this, _FileChooser_multiple, "f");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Accept the file chooser request with given paths.
|
|
69
|
+
* @param filePaths - If some of the `filePaths` are relative paths,
|
|
70
|
+
* then they are resolved relative to the {@link https://nodejs.org/api/process.html#process_process_cwd | current working directory}.
|
|
71
|
+
*/
|
|
72
|
+
async accept(filePaths) {
|
|
73
|
+
(0, assert_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot accept FileChooser which is already handled!');
|
|
74
|
+
__classPrivateFieldSet(this, _FileChooser_handled, true, "f");
|
|
75
|
+
await __classPrivateFieldGet(this, _FileChooser_element, "f").uploadFile(...filePaths);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Closes the file chooser without selecting any files.
|
|
79
|
+
*/
|
|
80
|
+
cancel() {
|
|
81
|
+
(0, assert_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot cancel FileChooser which is already handled!');
|
|
82
|
+
__classPrivateFieldSet(this, _FileChooser_handled, true, "f");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FileChooser = FileChooser;
|
|
86
|
+
_FileChooser_element = new WeakMap(), _FileChooser_multiple = new WeakMap(), _FileChooser_handled = new WeakMap();
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import
|
|
16
|
+
import { Protocol } from 'devtools-protocol';
|
|
17
17
|
import { CDPSession } from './Connection';
|
|
18
18
|
import { DOMWorld } from './DOMWorld';
|
|
19
19
|
import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
@@ -13,16 +13,30 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import
|
|
16
|
+
import { Protocol } from 'devtools-protocol';
|
|
17
17
|
import { Frame } from './FrameManager';
|
|
18
18
|
import { HTTPResponse } from './HTTPResponse';
|
|
19
|
+
declare type ResourceType = Lowercase<Protocol.Network.ResourceType>;
|
|
19
20
|
export declare class HTTPRequest {
|
|
20
21
|
#private;
|
|
21
22
|
_requestId: string;
|
|
23
|
+
_failureText: string | null;
|
|
22
24
|
_response: HTTPResponse | null;
|
|
23
25
|
_fromMemoryCache: boolean;
|
|
24
|
-
|
|
26
|
+
_redirectChain: HTTPRequest[];
|
|
27
|
+
constructor(frame: Frame | null, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[]);
|
|
28
|
+
url(): string;
|
|
29
|
+
resourceType(): ResourceType;
|
|
30
|
+
method(): string;
|
|
31
|
+
postData(): string | undefined;
|
|
32
|
+
headers(): Record<string, string>;
|
|
25
33
|
response(): HTTPResponse | null;
|
|
26
34
|
frame(): Frame | null;
|
|
27
35
|
isNavigationRequest(): boolean;
|
|
36
|
+
initiator(): Protocol.Network.Initiator;
|
|
37
|
+
redirectChain(): HTTPRequest[];
|
|
38
|
+
failure(): {
|
|
39
|
+
errorText: string;
|
|
40
|
+
} | null;
|
|
28
41
|
}
|
|
42
|
+
export {};
|
|
@@ -10,18 +10,49 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _HTTPRequest_isNavigationRequest, _HTTPRequest_frame;
|
|
13
|
+
var _HTTPRequest_isNavigationRequest, _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_frame, _HTTPRequest_initiator;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HTTPRequest = void 0;
|
|
16
16
|
class HTTPRequest {
|
|
17
|
-
constructor(frame, event) {
|
|
17
|
+
constructor(frame, event, redirectChain) {
|
|
18
|
+
this._failureText = null;
|
|
18
19
|
this._response = null;
|
|
19
20
|
this._fromMemoryCache = false;
|
|
20
21
|
_HTTPRequest_isNavigationRequest.set(this, void 0);
|
|
22
|
+
_HTTPRequest_url.set(this, void 0);
|
|
23
|
+
_HTTPRequest_resourceType.set(this, void 0);
|
|
24
|
+
_HTTPRequest_method.set(this, void 0);
|
|
25
|
+
_HTTPRequest_postData.set(this, void 0);
|
|
26
|
+
_HTTPRequest_headers.set(this, {});
|
|
21
27
|
_HTTPRequest_frame.set(this, void 0);
|
|
28
|
+
_HTTPRequest_initiator.set(this, void 0);
|
|
22
29
|
this._requestId = event.requestId;
|
|
23
30
|
__classPrivateFieldSet(this, _HTTPRequest_isNavigationRequest, event.requestId === event.loaderId && event.type === 'Document', "f");
|
|
31
|
+
__classPrivateFieldSet(this, _HTTPRequest_url, event.request.url, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _HTTPRequest_resourceType, (event.type || 'other').toLowerCase(), "f");
|
|
33
|
+
__classPrivateFieldSet(this, _HTTPRequest_method, event.request.method, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _HTTPRequest_postData, event.request.postData, "f");
|
|
24
35
|
__classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
|
|
36
|
+
this._redirectChain = redirectChain;
|
|
37
|
+
__classPrivateFieldSet(this, _HTTPRequest_initiator, event.initiator, "f");
|
|
38
|
+
for (const [key, value] of Object.entries(event.request.headers)) {
|
|
39
|
+
__classPrivateFieldGet(this, _HTTPRequest_headers, "f")[key.toLowerCase()] = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
url() {
|
|
43
|
+
return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
|
|
44
|
+
}
|
|
45
|
+
resourceType() {
|
|
46
|
+
return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
|
|
47
|
+
}
|
|
48
|
+
method() {
|
|
49
|
+
return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
|
|
50
|
+
}
|
|
51
|
+
postData() {
|
|
52
|
+
return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
|
|
53
|
+
}
|
|
54
|
+
headers() {
|
|
55
|
+
return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
|
|
25
56
|
}
|
|
26
57
|
response() {
|
|
27
58
|
return this._response;
|
|
@@ -32,6 +63,20 @@ class HTTPRequest {
|
|
|
32
63
|
isNavigationRequest() {
|
|
33
64
|
return __classPrivateFieldGet(this, _HTTPRequest_isNavigationRequest, "f");
|
|
34
65
|
}
|
|
66
|
+
initiator() {
|
|
67
|
+
return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
|
|
68
|
+
}
|
|
69
|
+
redirectChain() {
|
|
70
|
+
return this._redirectChain.slice();
|
|
71
|
+
}
|
|
72
|
+
failure() {
|
|
73
|
+
if (!this._failureText) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
errorText: this._failureText,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
35
80
|
}
|
|
36
81
|
exports.HTTPRequest = HTTPRequest;
|
|
37
|
-
_HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_frame = new WeakMap();
|
|
82
|
+
_HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_frame = new WeakMap(), _HTTPRequest_initiator = new WeakMap();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
/**
|
|
2
3
|
* Copyright 2020 Google Inc. All rights reserved.
|
|
3
4
|
*
|
|
@@ -13,10 +14,87 @@
|
|
|
13
14
|
* See the License for the specific language governing permissions and
|
|
14
15
|
* limitations under the License.
|
|
15
16
|
*/
|
|
16
|
-
import
|
|
17
|
+
import { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
|
|
18
|
+
import { Protocol } from 'devtools-protocol';
|
|
19
|
+
import { Frame } from './FrameManager';
|
|
20
|
+
import { HTTPRequest } from './HTTPRequest';
|
|
21
|
+
interface RemoteAddress {
|
|
22
|
+
ip?: string;
|
|
23
|
+
port?: number;
|
|
24
|
+
}
|
|
25
|
+
interface CDPSession {
|
|
26
|
+
send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
|
|
27
|
+
}
|
|
17
28
|
export declare class HTTPResponse {
|
|
18
29
|
#private;
|
|
19
|
-
constructor(responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
|
|
30
|
+
constructor(client: CDPSession, request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
|
|
20
31
|
_resolveBody(err: Error | null): void;
|
|
32
|
+
/**
|
|
33
|
+
* @returns The IP address and port number used to connect to the remote
|
|
34
|
+
* server.
|
|
35
|
+
*/
|
|
36
|
+
remoteAddress(): RemoteAddress;
|
|
37
|
+
/**
|
|
38
|
+
* @returns The URL of the response.
|
|
39
|
+
*/
|
|
40
|
+
url(): string;
|
|
41
|
+
/**
|
|
42
|
+
* @returns True if the response was successful (status in the range 200-299).
|
|
43
|
+
*/
|
|
44
|
+
ok(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* @returns The status code of the response (e.g., 200 for a success).
|
|
47
|
+
*/
|
|
21
48
|
status(): number;
|
|
49
|
+
/**
|
|
50
|
+
* @returns The status text of the response (e.g. usually an "OK" for a
|
|
51
|
+
* success).
|
|
52
|
+
*/
|
|
53
|
+
statusText(): string;
|
|
54
|
+
/**
|
|
55
|
+
* @returns An object with HTTP headers associated with the response. All
|
|
56
|
+
* header names are lower-case.
|
|
57
|
+
*/
|
|
58
|
+
headers(): Record<string, string>;
|
|
59
|
+
/**
|
|
60
|
+
* @returns Timing information related to the response.
|
|
61
|
+
*/
|
|
62
|
+
timing(): Protocol.Network.ResourceTiming | null;
|
|
63
|
+
/**
|
|
64
|
+
* @returns Promise which resolves to a buffer with response body.
|
|
65
|
+
*/
|
|
66
|
+
buffer(): Promise<Buffer>;
|
|
67
|
+
/**
|
|
68
|
+
* @returns Promise which resolves to a text representation of response body.
|
|
69
|
+
*/
|
|
70
|
+
text(): Promise<string>;
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @returns Promise which resolves to a JSON representation of response body.
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
*
|
|
77
|
+
* This method will throw if the response body is not parsable via
|
|
78
|
+
* `JSON.parse`.
|
|
79
|
+
*/
|
|
80
|
+
json(): Promise<any>;
|
|
81
|
+
/**
|
|
82
|
+
* @returns A matching {@link HTTPRequest} object.
|
|
83
|
+
*/
|
|
84
|
+
request(): HTTPRequest;
|
|
85
|
+
/**
|
|
86
|
+
* @returns True if the response was served from either the browser's disk
|
|
87
|
+
* cache or memory cache.
|
|
88
|
+
*/
|
|
89
|
+
fromCache(): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* @returns True if the response was served by a service worker.
|
|
92
|
+
*/
|
|
93
|
+
fromServiceWorker(): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* @returns A {@link Frame} that initiated this response, or `null` if
|
|
96
|
+
* navigating to error pages.
|
|
97
|
+
*/
|
|
98
|
+
frame(): Frame | null;
|
|
22
99
|
}
|
|
100
|
+
export {};
|
|
@@ -10,14 +10,46 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _HTTPResponse_bodyLoadedPromiseFulfill, _HTTPResponse_status;
|
|
13
|
+
var _HTTPResponse_instances, _HTTPResponse_client, _HTTPResponse_request, _HTTPResponse_contentPromise, _HTTPResponse_bodyLoadedPromise, _HTTPResponse_bodyLoadedPromiseFulfill, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromDiskCache, _HTTPResponse_fromServiceWorker, _HTTPResponse_headers, _HTTPResponse_timing, _HTTPResponse_parseStatusTextFromExtrInfo;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HTTPResponse = void 0;
|
|
16
|
+
const Errors_1 = require("./Errors");
|
|
16
17
|
class HTTPResponse {
|
|
17
|
-
constructor(responsePayload, extraInfo) {
|
|
18
|
+
constructor(client, request, responsePayload, extraInfo) {
|
|
19
|
+
_HTTPResponse_instances.add(this);
|
|
20
|
+
_HTTPResponse_client.set(this, void 0);
|
|
21
|
+
_HTTPResponse_request.set(this, void 0);
|
|
22
|
+
_HTTPResponse_contentPromise.set(this, null);
|
|
23
|
+
_HTTPResponse_bodyLoadedPromise.set(this, void 0);
|
|
18
24
|
_HTTPResponse_bodyLoadedPromiseFulfill.set(this, () => undefined);
|
|
25
|
+
_HTTPResponse_remoteAddress.set(this, void 0);
|
|
19
26
|
_HTTPResponse_status.set(this, void 0);
|
|
27
|
+
_HTTPResponse_statusText.set(this, void 0);
|
|
28
|
+
_HTTPResponse_url.set(this, void 0);
|
|
29
|
+
_HTTPResponse_fromDiskCache.set(this, void 0);
|
|
30
|
+
_HTTPResponse_fromServiceWorker.set(this, void 0);
|
|
31
|
+
_HTTPResponse_headers.set(this, {});
|
|
32
|
+
_HTTPResponse_timing.set(this, void 0);
|
|
33
|
+
__classPrivateFieldSet(this, _HTTPResponse_client, client, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
|
|
35
|
+
__classPrivateFieldSet(this, _HTTPResponse_bodyLoadedPromise, new Promise((fulfill) => {
|
|
36
|
+
__classPrivateFieldSet(this, _HTTPResponse_bodyLoadedPromiseFulfill, fulfill, "f");
|
|
37
|
+
}), "f");
|
|
38
|
+
__classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
|
|
39
|
+
ip: responsePayload.remoteIPAddress,
|
|
40
|
+
port: responsePayload.remotePort,
|
|
41
|
+
}, "f");
|
|
42
|
+
__classPrivateFieldSet(this, _HTTPResponse_statusText, __classPrivateFieldGet(this, _HTTPResponse_instances, "m", _HTTPResponse_parseStatusTextFromExtrInfo).call(this, extraInfo) ||
|
|
43
|
+
responsePayload.statusText, "f");
|
|
44
|
+
__classPrivateFieldSet(this, _HTTPResponse_url, request.url(), "f");
|
|
45
|
+
__classPrivateFieldSet(this, _HTTPResponse_fromDiskCache, Boolean(responsePayload.fromDiskCache), "f");
|
|
46
|
+
__classPrivateFieldSet(this, _HTTPResponse_fromServiceWorker, Boolean(responsePayload.fromServiceWorker), "f");
|
|
20
47
|
__classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
|
|
48
|
+
const headers = extraInfo ? extraInfo.headers : responsePayload.headers;
|
|
49
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
50
|
+
__classPrivateFieldGet(this, _HTTPResponse_headers, "f")[key.toLowerCase()] = value;
|
|
51
|
+
}
|
|
52
|
+
__classPrivateFieldSet(this, _HTTPResponse_timing, responsePayload.timing || null, "f");
|
|
21
53
|
}
|
|
22
54
|
_resolveBody(err) {
|
|
23
55
|
if (err) {
|
|
@@ -25,9 +57,140 @@ class HTTPResponse {
|
|
|
25
57
|
}
|
|
26
58
|
return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this);
|
|
27
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* @returns The IP address and port number used to connect to the remote
|
|
62
|
+
* server.
|
|
63
|
+
*/
|
|
64
|
+
remoteAddress() {
|
|
65
|
+
return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @returns The URL of the response.
|
|
69
|
+
*/
|
|
70
|
+
url() {
|
|
71
|
+
return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @returns True if the response was successful (status in the range 200-299).
|
|
75
|
+
*/
|
|
76
|
+
ok() {
|
|
77
|
+
return __classPrivateFieldGet(this, _HTTPResponse_status, "f") === 0 || (__classPrivateFieldGet(this, _HTTPResponse_status, "f") >= 200 && __classPrivateFieldGet(this, _HTTPResponse_status, "f") <= 299);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @returns The status code of the response (e.g., 200 for a success).
|
|
81
|
+
*/
|
|
28
82
|
status() {
|
|
29
83
|
return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
|
|
30
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @returns The status text of the response (e.g. usually an "OK" for a
|
|
87
|
+
* success).
|
|
88
|
+
*/
|
|
89
|
+
statusText() {
|
|
90
|
+
return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @returns An object with HTTP headers associated with the response. All
|
|
94
|
+
* header names are lower-case.
|
|
95
|
+
*/
|
|
96
|
+
headers() {
|
|
97
|
+
return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @returns Timing information related to the response.
|
|
101
|
+
*/
|
|
102
|
+
timing() {
|
|
103
|
+
return __classPrivateFieldGet(this, _HTTPResponse_timing, "f");
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @returns Promise which resolves to a buffer with response body.
|
|
107
|
+
*/
|
|
108
|
+
buffer() {
|
|
109
|
+
if (!__classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f")) {
|
|
110
|
+
__classPrivateFieldSet(this, _HTTPResponse_contentPromise, __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromise, "f").then(async (error) => {
|
|
111
|
+
if (error) {
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const response = await __classPrivateFieldGet(this, _HTTPResponse_client, "f").send('Network.getResponseBody', {
|
|
116
|
+
requestId: __classPrivateFieldGet(this, _HTTPResponse_request, "f")._requestId,
|
|
117
|
+
});
|
|
118
|
+
return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
|
|
119
|
+
}
|
|
120
|
+
catch (_error) {
|
|
121
|
+
if (_error instanceof Errors_1.ProtocolError &&
|
|
122
|
+
_error.originalMessage === 'No resource with given identifier found') {
|
|
123
|
+
throw new Errors_1.ProtocolError('Could not load body for this request. This might happen if the request is a preflight request.');
|
|
124
|
+
}
|
|
125
|
+
throw _error;
|
|
126
|
+
}
|
|
127
|
+
}), "f");
|
|
128
|
+
}
|
|
129
|
+
return __classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f");
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @returns Promise which resolves to a text representation of response body.
|
|
133
|
+
*/
|
|
134
|
+
async text() {
|
|
135
|
+
const content = await this.buffer();
|
|
136
|
+
return content.toString('utf8');
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
*
|
|
140
|
+
* @returns Promise which resolves to a JSON representation of response body.
|
|
141
|
+
*
|
|
142
|
+
* @remarks
|
|
143
|
+
*
|
|
144
|
+
* This method will throw if the response body is not parsable via
|
|
145
|
+
* `JSON.parse`.
|
|
146
|
+
*/
|
|
147
|
+
async json() {
|
|
148
|
+
const content = await this.text();
|
|
149
|
+
return JSON.parse(content);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* @returns A matching {@link HTTPRequest} object.
|
|
153
|
+
*/
|
|
154
|
+
request() {
|
|
155
|
+
return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* @returns True if the response was served from either the browser's disk
|
|
159
|
+
* cache or memory cache.
|
|
160
|
+
*/
|
|
161
|
+
fromCache() {
|
|
162
|
+
return __classPrivateFieldGet(this, _HTTPResponse_fromDiskCache, "f") || __classPrivateFieldGet(this, _HTTPResponse_request, "f")._fromMemoryCache;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @returns True if the response was served by a service worker.
|
|
166
|
+
*/
|
|
167
|
+
fromServiceWorker() {
|
|
168
|
+
return __classPrivateFieldGet(this, _HTTPResponse_fromServiceWorker, "f");
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* @returns A {@link Frame} that initiated this response, or `null` if
|
|
172
|
+
* navigating to error pages.
|
|
173
|
+
*/
|
|
174
|
+
frame() {
|
|
175
|
+
return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
|
|
176
|
+
}
|
|
31
177
|
}
|
|
32
178
|
exports.HTTPResponse = HTTPResponse;
|
|
33
|
-
_HTTPResponse_bodyLoadedPromiseFulfill = new WeakMap(), _HTTPResponse_status = new WeakMap()
|
|
179
|
+
_HTTPResponse_client = new WeakMap(), _HTTPResponse_request = new WeakMap(), _HTTPResponse_contentPromise = new WeakMap(), _HTTPResponse_bodyLoadedPromise = new WeakMap(), _HTTPResponse_bodyLoadedPromiseFulfill = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromDiskCache = new WeakMap(), _HTTPResponse_fromServiceWorker = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_timing = new WeakMap(), _HTTPResponse_instances = new WeakSet(), _HTTPResponse_parseStatusTextFromExtrInfo = function _HTTPResponse_parseStatusTextFromExtrInfo(extraInfo) {
|
|
180
|
+
if (!extraInfo || !extraInfo.headersText) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const firstLine = extraInfo.headersText.split('\r', 1)[0];
|
|
184
|
+
if (!firstLine) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
|
|
188
|
+
if (!match) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const statusText = match[1];
|
|
192
|
+
if (!statusText) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
return statusText;
|
|
196
|
+
};
|