patchright-core 1.51.3 → 1.52.0

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.
Files changed (303) hide show
  1. package/browsers.json +15 -13
  2. package/lib/androidServerImpl.js +42 -48
  3. package/lib/browserServerImpl.js +54 -67
  4. package/lib/cli/driver.js +71 -69
  5. package/lib/cli/program.js +312 -328
  6. package/lib/cli/programWithTestStub.js +51 -45
  7. package/lib/client/accessibility.js +31 -32
  8. package/lib/client/android.js +141 -228
  9. package/lib/client/api.js +135 -283
  10. package/lib/client/artifact.js +39 -36
  11. package/lib/client/browser.js +57 -61
  12. package/lib/client/browserContext.js +297 -326
  13. package/lib/client/browserType.js +92 -106
  14. package/lib/client/cdpSession.js +29 -31
  15. package/lib/client/channelOwner.js +82 -95
  16. package/lib/client/clientHelper.js +46 -38
  17. package/lib/client/clientInstrumentation.js +40 -37
  18. package/lib/client/clientStackTrace.js +41 -37
  19. package/lib/client/clock.js +36 -36
  20. package/lib/client/connection.js +190 -212
  21. package/lib/client/consoleMessage.js +31 -28
  22. package/lib/client/coverage.js +25 -22
  23. package/lib/client/dialog.js +30 -31
  24. package/lib/client/download.js +25 -25
  25. package/lib/client/electron.js +73 -75
  26. package/lib/client/elementHandle.js +111 -147
  27. package/lib/client/errors.js +53 -53
  28. package/lib/client/eventEmitter.js +124 -121
  29. package/lib/client/events.js +72 -68
  30. package/lib/client/fetch.js +135 -158
  31. package/lib/client/fileChooser.js +25 -24
  32. package/lib/client/fileUtils.js +31 -28
  33. package/lib/client/frame.js +187 -306
  34. package/lib/client/harRouter.js +42 -52
  35. package/lib/client/input.js +40 -69
  36. package/lib/client/jsHandle.js +54 -69
  37. package/lib/client/jsonPipe.js +27 -23
  38. package/lib/client/localUtils.js +29 -28
  39. package/lib/client/locator.js +161 -245
  40. package/lib/client/network.js +277 -295
  41. package/lib/client/page.js +270 -318
  42. package/lib/client/platform.js +46 -43
  43. package/lib/client/playwright.js +51 -66
  44. package/lib/client/selectors.js +48 -46
  45. package/lib/client/stream.js +29 -25
  46. package/lib/client/timeoutSettings.js +49 -39
  47. package/lib/client/tracing.js +48 -84
  48. package/lib/client/types.js +26 -22
  49. package/lib/client/video.js +35 -27
  50. package/lib/client/waiter.js +69 -88
  51. package/lib/client/webError.js +25 -23
  52. package/lib/client/webSocket.js +61 -56
  53. package/lib/client/worker.js +48 -58
  54. package/lib/client/writableStream.js +27 -23
  55. package/lib/generated/clockSource.js +26 -5
  56. package/lib/generated/consoleApiSource.js +26 -5
  57. package/lib/generated/injectedScriptSource.js +26 -5
  58. package/lib/generated/pollingRecorderSource.js +26 -5
  59. package/lib/generated/utilityScriptSource.js +26 -5
  60. package/lib/generated/webSocketMockSource.js +375 -4
  61. package/lib/inProcessFactory.js +53 -53
  62. package/lib/inprocess.js +2 -19
  63. package/lib/outofprocess.js +53 -46
  64. package/lib/protocol/debug.js +209 -25
  65. package/lib/protocol/serializers.js +153 -134
  66. package/lib/protocol/validator.js +2714 -2714
  67. package/lib/protocol/validatorPrimitives.js +114 -73
  68. package/lib/remote/playwrightConnection.js +140 -157
  69. package/lib/remote/playwrightServer.js +99 -84
  70. package/lib/server/accessibility.js +44 -37
  71. package/lib/server/android/android.js +216 -209
  72. package/lib/server/android/backendAdb.js +89 -82
  73. package/lib/server/artifact.js +78 -55
  74. package/lib/server/bidi/bidiBrowser.js +221 -155
  75. package/lib/server/bidi/bidiChromium.js +106 -79
  76. package/lib/server/bidi/bidiConnection.js +66 -83
  77. package/lib/server/bidi/bidiExecutionContext.js +128 -113
  78. package/lib/server/bidi/bidiFirefox.js +76 -69
  79. package/lib/server/bidi/bidiInput.js +86 -97
  80. package/lib/server/bidi/bidiNetworkManager.js +137 -154
  81. package/lib/server/bidi/bidiOverCdp.js +57 -58
  82. package/lib/server/bidi/bidiPage.js +247 -219
  83. package/lib/server/bidi/bidiPdf.js +52 -86
  84. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  85. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  86. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  87. package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
  88. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  89. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  90. package/lib/server/browser.js +76 -84
  91. package/lib/server/browserContext.js +321 -346
  92. package/lib/server/browserType.js +169 -182
  93. package/lib/server/callLog.js +47 -44
  94. package/lib/server/chromium/chromium.js +212 -190
  95. package/lib/server/chromium/chromiumSwitches.js +86 -64
  96. package/lib/server/chromium/crAccessibility.js +157 -131
  97. package/lib/server/chromium/crBrowser.js +253 -273
  98. package/lib/server/chromium/crConnection.js +91 -116
  99. package/lib/server/chromium/crCoverage.js +113 -127
  100. package/lib/server/chromium/crDevTools.js +59 -51
  101. package/lib/server/chromium/crDragDrop.js +62 -79
  102. package/lib/server/chromium/crExecutionContext.js +88 -83
  103. package/lib/server/chromium/crInput.js +97 -95
  104. package/lib/server/chromium/crNetworkManager.js +284 -404
  105. package/lib/server/chromium/crPage.js +522 -608
  106. package/lib/server/chromium/crPdf.js +54 -86
  107. package/lib/server/chromium/crProtocolHelper.js +92 -80
  108. package/lib/server/chromium/crServiceWorker.js +82 -67
  109. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  110. package/lib/server/chromium/protocol.d.js +16 -0
  111. package/lib/server/chromium/videoRecorder.js +65 -99
  112. package/lib/server/clock.js +62 -50
  113. package/lib/server/codegen/csharp.js +185 -160
  114. package/lib/server/codegen/java.js +155 -128
  115. package/lib/server/codegen/javascript.js +163 -148
  116. package/lib/server/codegen/jsonl.js +32 -28
  117. package/lib/server/codegen/language.js +75 -52
  118. package/lib/server/codegen/languages.js +65 -27
  119. package/lib/server/codegen/python.js +140 -125
  120. package/lib/server/codegen/types.js +15 -4
  121. package/lib/server/console.js +28 -32
  122. package/lib/server/cookieStore.js +105 -86
  123. package/lib/server/debugController.js +97 -124
  124. package/lib/server/debugger.js +82 -78
  125. package/lib/server/deviceDescriptors.js +37 -24
  126. package/lib/server/deviceDescriptorsSource.json +50 -50
  127. package/lib/server/dialog.js +36 -35
  128. package/lib/server/dispatchers/androidDispatcher.js +196 -107
  129. package/lib/server/dispatchers/artifactDispatcher.js +62 -62
  130. package/lib/server/dispatchers/browserContextDispatcher.js +176 -205
  131. package/lib/server/dispatchers/browserDispatcher.js +78 -97
  132. package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
  133. package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
  134. package/lib/server/dispatchers/debugControllerDispatcher.js +48 -66
  135. package/lib/server/dispatchers/dialogDispatcher.js +30 -27
  136. package/lib/server/dispatchers/dispatcher.js +169 -220
  137. package/lib/server/dispatchers/electronDispatcher.js +54 -57
  138. package/lib/server/dispatchers/elementHandlerDispatcher.js +77 -119
  139. package/lib/server/dispatchers/frameDispatcher.js +99 -163
  140. package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
  141. package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
  142. package/lib/server/dispatchers/localUtilsDispatcher.js +95 -80
  143. package/lib/server/dispatchers/networkDispatchers.js +90 -107
  144. package/lib/server/dispatchers/pageDispatcher.js +128 -169
  145. package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
  146. package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
  147. package/lib/server/dispatchers/streamDispatcher.js +42 -45
  148. package/lib/server/dispatchers/tracingDispatcher.js +36 -41
  149. package/lib/server/dispatchers/webSocketRouteDispatcher.js +96 -131
  150. package/lib/server/dispatchers/writableStreamDispatcher.js +54 -38
  151. package/lib/server/dom.js +413 -443
  152. package/lib/server/download.js +45 -35
  153. package/lib/server/electron/electron.js +156 -176
  154. package/lib/server/electron/loader.js +8 -36
  155. package/lib/server/errors.js +47 -46
  156. package/lib/server/fetch.js +289 -323
  157. package/lib/server/fileChooser.js +25 -24
  158. package/lib/server/fileUploadUtils.js +65 -59
  159. package/lib/server/firefox/ffAccessibility.js +153 -131
  160. package/lib/server/firefox/ffBrowser.js +213 -277
  161. package/lib/server/firefox/ffConnection.js +63 -84
  162. package/lib/server/firefox/ffExecutionContext.js +91 -73
  163. package/lib/server/firefox/ffInput.js +67 -69
  164. package/lib/server/firefox/ffNetworkManager.js +131 -110
  165. package/lib/server/firefox/ffPage.js +236 -273
  166. package/lib/server/firefox/firefox.js +76 -67
  167. package/lib/server/firefox/protocol.d.js +16 -0
  168. package/lib/server/formData.js +107 -35
  169. package/lib/server/frameSelectors.js +77 -111
  170. package/lib/server/frames.js +730 -894
  171. package/lib/server/har/harRecorder.js +85 -77
  172. package/lib/server/har/harTracer.js +287 -222
  173. package/lib/server/harBackend.js +80 -80
  174. package/lib/server/helper.js +56 -59
  175. package/lib/server/index.js +59 -99
  176. package/lib/server/input.js +134 -163
  177. package/lib/server/instrumentation.js +49 -44
  178. package/lib/server/javascript.js +143 -134
  179. package/lib/server/launchApp.js +92 -73
  180. package/lib/server/localUtils.js +130 -122
  181. package/lib/server/macEditingCommands.js +141 -137
  182. package/lib/server/network.js +262 -296
  183. package/lib/server/page.js +329 -426
  184. package/lib/server/pageBinding.js +88 -0
  185. package/lib/server/pipeTransport.js +49 -45
  186. package/lib/server/playwright.js +60 -67
  187. package/lib/server/progress.js +56 -51
  188. package/lib/server/protocolError.js +34 -31
  189. package/lib/server/recorder/chat.js +70 -86
  190. package/lib/server/recorder/contextRecorder.js +134 -138
  191. package/lib/server/recorder/recorderApp.js +127 -136
  192. package/lib/server/recorder/recorderCollection.js +56 -44
  193. package/lib/server/recorder/recorderFrontend.js +15 -4
  194. package/lib/server/recorder/recorderRunner.js +79 -103
  195. package/lib/server/recorder/recorderUtils.js +56 -45
  196. package/lib/server/recorder/throttledFile.js +42 -30
  197. package/lib/server/recorder.js +177 -186
  198. package/lib/server/registry/browserFetcher.js +106 -101
  199. package/lib/server/registry/dependencies.js +245 -196
  200. package/lib/server/registry/index.js +904 -792
  201. package/lib/server/registry/nativeDeps.js +1073 -464
  202. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  203. package/lib/server/screenshotter.js +166 -182
  204. package/lib/server/selectors.js +85 -46
  205. package/lib/server/socksClientCertificatesInterceptor.js +166 -185
  206. package/lib/server/socksInterceptor.js +62 -70
  207. package/lib/server/storageScript.js +94 -100
  208. package/lib/server/timeoutSettings.js +58 -43
  209. package/lib/server/trace/recorder/snapshotter.js +70 -89
  210. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  211. package/lib/server/trace/recorder/tracing.js +321 -333
  212. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  213. package/lib/server/trace/viewer/traceViewer.js +168 -146
  214. package/lib/server/transport.js +124 -133
  215. package/lib/server/types.js +26 -22
  216. package/lib/server/usKeyboardLayout.js +135 -545
  217. package/lib/server/utils/ascii.js +39 -26
  218. package/lib/server/utils/comparators.js +105 -103
  219. package/lib/server/utils/crypto.js +157 -112
  220. package/lib/server/utils/debug.js +37 -28
  221. package/lib/server/utils/debugLogger.js +69 -48
  222. package/lib/server/utils/env.js +52 -37
  223. package/lib/server/utils/eventsHelper.js +29 -28
  224. package/lib/server/utils/expectUtils.js +31 -26
  225. package/lib/server/utils/fileUtils.js +123 -136
  226. package/lib/server/utils/happyEyeballs.js +138 -123
  227. package/lib/server/utils/hostPlatform.js +84 -120
  228. package/lib/server/utils/httpServer.js +106 -121
  229. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  230. package/lib/server/utils/image_tools/compare.js +44 -43
  231. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  232. package/lib/server/utils/image_tools/stats.js +40 -40
  233. package/lib/server/utils/linuxUtils.js +50 -37
  234. package/lib/server/utils/network.js +143 -86
  235. package/lib/server/utils/nodePlatform.js +87 -79
  236. package/lib/server/utils/pipeTransport.js +44 -42
  237. package/lib/server/utils/processLauncher.js +111 -121
  238. package/lib/server/utils/profiler.js +52 -39
  239. package/lib/server/utils/socksProxy.js +280 -339
  240. package/lib/server/utils/spawnAsync.js +37 -41
  241. package/lib/server/utils/task.js +31 -38
  242. package/lib/server/utils/userAgent.js +73 -66
  243. package/lib/server/utils/wsServer.js +73 -69
  244. package/lib/server/utils/zipFile.js +36 -37
  245. package/lib/server/utils/zones.js +37 -34
  246. package/lib/server/webkit/protocol.d.js +16 -0
  247. package/lib/server/webkit/webkit.js +76 -63
  248. package/lib/server/webkit/wkAccessibility.js +161 -118
  249. package/lib/server/webkit/wkBrowser.js +159 -176
  250. package/lib/server/webkit/wkConnection.js +59 -83
  251. package/lib/server/webkit/wkExecutionContext.js +84 -70
  252. package/lib/server/webkit/wkInput.js +82 -80
  253. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  254. package/lib/server/webkit/wkPage.js +525 -619
  255. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  256. package/lib/server/webkit/wkWorkers.js +77 -77
  257. package/lib/utils/isomorphic/ariaSnapshot.js +144 -152
  258. package/lib/utils/isomorphic/assert.js +28 -22
  259. package/lib/utils/isomorphic/builtins.js +90 -0
  260. package/lib/utils/isomorphic/colors.js +66 -59
  261. package/lib/utils/isomorphic/cssParser.js +121 -125
  262. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  263. package/lib/utils/isomorphic/headers.js +38 -37
  264. package/lib/utils/isomorphic/locatorGenerators.js +340 -357
  265. package/lib/utils/isomorphic/locatorParser.js +96 -105
  266. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  267. package/lib/utils/isomorphic/manualPromise.js +47 -39
  268. package/lib/utils/isomorphic/mimeType.js +448 -25
  269. package/lib/utils/isomorphic/multimap.js +35 -27
  270. package/lib/utils/isomorphic/rtti.js +35 -33
  271. package/lib/utils/isomorphic/selectorParser.js +183 -193
  272. package/lib/utils/isomorphic/semaphore.js +27 -24
  273. package/lib/utils/isomorphic/stackTrace.js +87 -98
  274. package/lib/utils/isomorphic/stringUtils.js +113 -106
  275. package/lib/utils/isomorphic/time.js +41 -22
  276. package/lib/utils/isomorphic/timeoutRunner.js +55 -54
  277. package/lib/utils/isomorphic/traceUtils.js +38 -41
  278. package/lib/utils/isomorphic/types.js +15 -4
  279. package/lib/utils/isomorphic/urlMatch.js +112 -67
  280. package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
  281. package/lib/utils.js +97 -443
  282. package/lib/utilsBundle.js +101 -52
  283. package/lib/vite/htmlReport/index.html +21 -15
  284. package/lib/vite/recorder/assets/{codeMirrorModule-B9YMkrwa.js → codeMirrorModule-DVQi6prl.js} +1 -1
  285. package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
  286. package/lib/vite/recorder/index.html +1 -1
  287. package/lib/vite/traceViewer/assets/{codeMirrorModule-1DiydmYA.js → codeMirrorModule-dvXVzLxY.js} +1 -1
  288. package/lib/vite/traceViewer/assets/defaultSettingsView-BjymbO6M.js +265 -0
  289. package/lib/vite/traceViewer/{defaultSettingsView.5fN5lw10.css → defaultSettingsView.QdHITyLI.css} +1 -1
  290. package/lib/vite/traceViewer/index.ChIUCJnj.js +2 -0
  291. package/lib/vite/traceViewer/index.html +3 -3
  292. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  293. package/lib/vite/traceViewer/uiMode.html +3 -3
  294. package/lib/vite/traceViewer/uiMode.jUCiCtdp.js +5 -0
  295. package/lib/zipBundle.js +32 -23
  296. package/package.json +1 -1
  297. package/types/protocol.d.ts +436 -17
  298. package/types/types.d.ts +35 -16
  299. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  300. package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
  301. package/lib/vite/traceViewer/assets/defaultSettingsView-l0TyP_G8.js +0 -259
  302. package/lib/vite/traceViewer/index.BqUZLSro.js +0 -2
  303. package/lib/vite/traceViewer/uiMode.C1d2m5sF.js +0 -5
@@ -1,76 +1,78 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var network_exports = {};
20
+ __export(network_exports, {
21
+ Request: () => Request,
22
+ Response: () => Response,
23
+ Route: () => Route,
24
+ WebSocket: () => WebSocket,
25
+ filterCookies: () => filterCookies,
26
+ kMaxCookieExpiresDateInSeconds: () => kMaxCookieExpiresDateInSeconds,
27
+ mergeHeaders: () => mergeHeaders,
28
+ parseURL: () => parseURL,
29
+ rewriteCookies: () => rewriteCookies,
30
+ singleHeader: () => singleHeader,
31
+ statusText: () => statusText,
32
+ stripFragmentFromUrl: () => stripFragmentFromUrl
5
33
  });
6
- exports.WebSocket = exports.Route = exports.Response = exports.Request = void 0;
7
- exports.filterCookies = filterCookies;
8
- exports.kMaxCookieExpiresDateInSeconds = void 0;
9
- exports.mergeHeaders = mergeHeaders;
10
- exports.parseURL = parseURL;
11
- exports.rewriteCookies = rewriteCookies;
12
- exports.singleHeader = singleHeader;
13
- exports.statusText = statusText;
14
- exports.stripFragmentFromUrl = stripFragmentFromUrl;
15
- var _utils = require("../utils");
16
- var _browserContext = require("./browserContext");
17
- var _fetch = require("./fetch");
18
- var _instrumentation = require("./instrumentation");
19
- var _manualPromise = require("../utils/isomorphic/manualPromise");
20
- /**
21
- * Copyright (c) Microsoft Corporation.
22
- *
23
- * Licensed under the Apache License, Version 2.0 (the "License");
24
- * you may not use this file except in compliance with the License.
25
- * You may obtain a copy of the License at
26
- *
27
- * http://www.apache.org/licenses/LICENSE-2.0
28
- *
29
- * Unless required by applicable law or agreed to in writing, software
30
- * distributed under the License is distributed on an "AS IS" BASIS,
31
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
- * See the License for the specific language governing permissions and
33
- * limitations under the License.
34
- */
35
-
34
+ module.exports = __toCommonJS(network_exports);
35
+ var import_utils = require("../utils");
36
+ var import_browserContext = require("./browserContext");
37
+ var import_fetch = require("./fetch");
38
+ var import_instrumentation = require("./instrumentation");
39
+ var import_manualPromise = require("../utils/isomorphic/manualPromise");
36
40
  function filterCookies(cookies, urls) {
37
- const parsedURLs = urls.map(s => new URL(s));
38
- // Chromiums's cookies are missing sameSite when it is 'None'
39
- return cookies.filter(c => {
40
- if (!parsedURLs.length) return true;
41
+ const parsedURLs = urls.map((s) => new URL(s));
42
+ return cookies.filter((c) => {
43
+ if (!parsedURLs.length)
44
+ return true;
41
45
  for (const parsedURL of parsedURLs) {
42
46
  let domain = c.domain;
43
- if (!domain.startsWith('.')) domain = '.' + domain;
44
- if (!('.' + parsedURL.hostname).endsWith(domain)) continue;
45
- if (!parsedURL.pathname.startsWith(c.path)) continue;
46
- if (parsedURL.protocol !== 'https:' && parsedURL.hostname !== 'localhost' && c.secure) continue;
47
+ if (!domain.startsWith("."))
48
+ domain = "." + domain;
49
+ if (!("." + parsedURL.hostname).endsWith(domain))
50
+ continue;
51
+ if (!parsedURL.pathname.startsWith(c.path))
52
+ continue;
53
+ if (parsedURL.protocol !== "https:" && parsedURL.hostname !== "localhost" && c.secure)
54
+ continue;
47
55
  return true;
48
56
  }
49
57
  return false;
50
58
  });
51
59
  }
52
-
53
- // Rollover to 5-digit year:
54
- // 253402300799 == Fri, 31 Dec 9999 23:59:59 +0000 (UTC)
55
- // 253402300800 == Sat, 1 Jan 1000 00:00:00 +0000 (UTC)
56
- const kMaxCookieExpiresDateInSeconds = exports.kMaxCookieExpiresDateInSeconds = 253402300799;
60
+ const kMaxCookieExpiresDateInSeconds = 253402300799;
57
61
  function rewriteCookies(cookies) {
58
- return cookies.map(c => {
59
- (0, _utils.assert)(c.url || c.domain && c.path, 'Cookie should have a url or a domain/path pair');
60
- (0, _utils.assert)(!(c.url && c.domain), 'Cookie should have either url or domain');
61
- (0, _utils.assert)(!(c.url && c.path), 'Cookie should have either url or path');
62
- (0, _utils.assert)(!(c.expires && c.expires < 0 && c.expires !== -1), 'Cookie should have a valid expires, only -1 or a positive number for the unix timestamp in seconds is allowed');
63
- (0, _utils.assert)(!(c.expires && c.expires > 0 && c.expires > kMaxCookieExpiresDateInSeconds), 'Cookie should have a valid expires, only -1 or a positive number for the unix timestamp in seconds is allowed');
64
- const copy = {
65
- ...c
66
- };
62
+ return cookies.map((c) => {
63
+ (0, import_utils.assert)(c.url || c.domain && c.path, "Cookie should have a url or a domain/path pair");
64
+ (0, import_utils.assert)(!(c.url && c.domain), "Cookie should have either url or domain");
65
+ (0, import_utils.assert)(!(c.url && c.path), "Cookie should have either url or path");
66
+ (0, import_utils.assert)(!(c.expires && c.expires < 0 && c.expires !== -1), "Cookie should have a valid expires, only -1 or a positive number for the unix timestamp in seconds is allowed");
67
+ (0, import_utils.assert)(!(c.expires && c.expires > 0 && c.expires > kMaxCookieExpiresDateInSeconds), "Cookie should have a valid expires, only -1 or a positive number for the unix timestamp in seconds is allowed");
68
+ const copy = { ...c };
67
69
  if (copy.url) {
68
- (0, _utils.assert)(copy.url !== 'about:blank', `Blank page can not have cookie "${c.name}"`);
69
- (0, _utils.assert)(!copy.url.startsWith('data:'), `Data URL page can not have cookie "${c.name}"`);
70
+ (0, import_utils.assert)(copy.url !== "about:blank", `Blank page can not have cookie "${c.name}"`);
71
+ (0, import_utils.assert)(!copy.url.startsWith("data:"), `Data URL page can not have cookie "${c.name}"`);
70
72
  const url = new URL(copy.url);
71
73
  copy.domain = url.hostname;
72
- copy.path = url.pathname.substring(0, url.pathname.lastIndexOf('/') + 1);
73
- copy.secure = url.protocol === 'https:';
74
+ copy.path = url.pathname.substring(0, url.pathname.lastIndexOf("/") + 1);
75
+ copy.secure = url.protocol === "https:";
74
76
  }
75
77
  return copy;
76
78
  });
@@ -83,38 +85,29 @@ function parseURL(url) {
83
85
  }
84
86
  }
85
87
  function stripFragmentFromUrl(url) {
86
- if (!url.includes('#')) return url;
87
- return url.substring(0, url.indexOf('#'));
88
+ if (!url.includes("#"))
89
+ return url;
90
+ return url.substring(0, url.indexOf("#"));
88
91
  }
89
- class Request extends _instrumentation.SdkObject {
92
+ class Request extends import_instrumentation.SdkObject {
90
93
  constructor(context, frame, serviceWorker, redirectedFrom, documentId, url, resourceType, method, postData, headers) {
91
- super(frame || context, 'request');
94
+ super(frame || context, "request");
92
95
  this._response = null;
93
- this._redirectedFrom = void 0;
94
96
  this._redirectedTo = null;
95
- this._documentId = void 0;
96
- this._isFavicon = void 0;
97
97
  this._failureText = null;
98
- this._url = void 0;
99
- this._resourceType = void 0;
100
- this._method = void 0;
101
- this._postData = void 0;
102
- this._headers = void 0;
103
- this._headersMap = new Map();
98
+ this._headersMap = /* @__PURE__ */ new Map();
104
99
  this._frame = null;
105
100
  this._serviceWorker = null;
106
- this._context = void 0;
107
- this._rawRequestHeadersPromise = new _manualPromise.ManualPromise();
108
- this._waitForResponsePromise = new _manualPromise.ManualPromise();
101
+ this._rawRequestHeadersPromise = new import_manualPromise.ManualPromise();
102
+ this._waitForResponsePromise = new import_manualPromise.ManualPromise();
109
103
  this._responseEndTiming = -1;
110
- this._overrides = void 0;
111
- this._bodySize = void 0;
112
- (0, _utils.assert)(!url.startsWith('data:'), 'Data urls should not fire requests');
104
+ (0, import_utils.assert)(!url.startsWith("data:"), "Data urls should not fire requests");
113
105
  this._context = context;
114
106
  this._frame = frame;
115
107
  this._serviceWorker = serviceWorker;
116
108
  this._redirectedFrom = redirectedFrom;
117
- if (redirectedFrom) redirectedFrom._redirectedTo = this;
109
+ if (redirectedFrom)
110
+ redirectedFrom._redirectedTo = this;
118
111
  this._documentId = documentId;
119
112
  this._url = stripFragmentFromUrl(url);
120
113
  this._resourceType = resourceType;
@@ -122,7 +115,7 @@ class Request extends _instrumentation.SdkObject {
122
115
  this._postData = postData;
123
116
  this._headers = headers;
124
117
  this._updateHeadersMap();
125
- this._isFavicon = url.endsWith('/favicon.ico') || !!(redirectedFrom !== null && redirectedFrom !== void 0 && redirectedFrom._isFavicon);
118
+ this._isFavicon = url.endsWith("/favicon.ico") || !!redirectedFrom?._isFavicon;
126
119
  }
127
120
  _setFailureText(failureText) {
128
121
  this._failureText = failureText;
@@ -133,44 +126,37 @@ class Request extends _instrumentation.SdkObject {
133
126
  this._updateHeadersMap();
134
127
  }
135
128
  _updateHeadersMap() {
136
- for (const {
137
- name,
138
- value
139
- } of this.headers()) this._headersMap.set(name.toLowerCase(), value);
129
+ for (const { name, value } of this.headers())
130
+ this._headersMap.set(name.toLowerCase(), value);
140
131
  }
141
132
  _hasOverrides() {
142
133
  return !!this._overrides;
143
134
  }
144
135
  url() {
145
- var _this$_overrides;
146
- return ((_this$_overrides = this._overrides) === null || _this$_overrides === void 0 ? void 0 : _this$_overrides.url) || this._url;
136
+ return this._overrides?.url || this._url;
147
137
  }
148
138
  resourceType() {
149
139
  return this._resourceType;
150
140
  }
151
141
  method() {
152
- var _this$_overrides2;
153
- return ((_this$_overrides2 = this._overrides) === null || _this$_overrides2 === void 0 ? void 0 : _this$_overrides2.method) || this._method;
142
+ return this._overrides?.method || this._method;
154
143
  }
155
144
  postDataBuffer() {
156
- var _this$_overrides3;
157
- return ((_this$_overrides3 = this._overrides) === null || _this$_overrides3 === void 0 ? void 0 : _this$_overrides3.postData) || this._postData;
145
+ return this._overrides?.postData || this._postData;
158
146
  }
159
147
  headers() {
160
- var _this$_overrides4;
161
- return ((_this$_overrides4 = this._overrides) === null || _this$_overrides4 === void 0 ? void 0 : _this$_overrides4.headers) || this._headers;
148
+ return this._overrides?.headers || this._headers;
162
149
  }
163
150
  headerValue(name) {
164
151
  return this._headersMap.get(name);
165
152
  }
166
-
167
153
  // "null" means no raw headers available - we'll use provisional headers as raw headers.
168
154
  setRawRequestHeaders(headers) {
169
- if (!this._rawRequestHeadersPromise.isDone()) this._rawRequestHeadersPromise.resolve(headers || this._headers);
155
+ if (!this._rawRequestHeadersPromise.isDone())
156
+ this._rawRequestHeadersPromise.resolve(headers || this._headers);
170
157
  }
171
158
  async rawRequestHeaders() {
172
- var _this$_overrides5;
173
- return ((_this$_overrides5 = this._overrides) === null || _this$_overrides5 === void 0 ? void 0 : _this$_overrides5.headers) || this._rawRequestHeadersPromise;
159
+ return this._overrides?.headers || this._rawRequestHeadersPromise;
174
160
  }
175
161
  response() {
176
162
  return this._waitForResponsePromise;
@@ -198,36 +184,33 @@ class Request extends _instrumentation.SdkObject {
198
184
  return this._redirectedFrom;
199
185
  }
200
186
  failure() {
201
- if (this._failureText === null) return null;
187
+ if (this._failureText === null)
188
+ return null;
202
189
  return {
203
190
  errorText: this._failureText
204
191
  };
205
192
  }
206
-
207
193
  // TODO(bidi): remove once post body is available.
208
194
  _setBodySize(size) {
209
195
  this._bodySize = size;
210
196
  }
211
197
  bodySize() {
212
- var _this$postDataBuffer;
213
- return this._bodySize || ((_this$postDataBuffer = this.postDataBuffer()) === null || _this$postDataBuffer === void 0 ? void 0 : _this$postDataBuffer.length) || 0;
198
+ return this._bodySize || this.postDataBuffer()?.length || 0;
214
199
  }
215
200
  async requestHeadersSize() {
216
- let headersSize = 4; // 4 = 2 spaces + 2 line breaks (GET /path \r\n)
201
+ let headersSize = 4;
217
202
  headersSize += this.method().length;
218
203
  headersSize += new URL(this.url()).pathname.length;
219
- headersSize += 8; // httpVersion
204
+ headersSize += 8;
220
205
  const headers = await this.rawRequestHeaders();
221
- for (const header of headers) headersSize += header.name.length + header.value.length + 4; // 4 = ': ' + '\r\n'
206
+ for (const header of headers)
207
+ headersSize += header.name.length + header.value.length + 4;
222
208
  return headersSize;
223
209
  }
224
210
  }
225
- exports.Request = Request;
226
- class Route extends _instrumentation.SdkObject {
211
+ class Route extends import_instrumentation.SdkObject {
227
212
  constructor(request, delegate) {
228
- super(request._frame || request._context, 'route');
229
- this._request = void 0;
230
- this._delegate = void 0;
213
+ super(request._frame || request._context, "route");
231
214
  this._handled = false;
232
215
  this._request = request;
233
216
  this._delegate = delegate;
@@ -236,120 +219,104 @@ class Route extends _instrumentation.SdkObject {
236
219
  request() {
237
220
  return this._request;
238
221
  }
239
- async abort(errorCode = 'failed') {
222
+ async abort(errorCode = "failed") {
240
223
  this._startHandling();
241
- this._request._context.emit(_browserContext.BrowserContext.Events.RequestAborted, this._request);
224
+ this._request._context.emit(import_browserContext.BrowserContext.Events.RequestAborted, this._request);
242
225
  await this._delegate.abort(errorCode);
243
226
  this._endHandling();
244
227
  }
245
228
  async redirectNavigationRequest(url) {
246
229
  this._startHandling();
247
- (0, _utils.assert)(this._request.isNavigationRequest());
248
- this._request.frame().redirectNavigation(url, this._request._documentId, this._request.headerValue('referer'));
230
+ (0, import_utils.assert)(this._request.isNavigationRequest());
231
+ this._request.frame().redirectNavigation(url, this._request._documentId, this._request.headerValue("referer"));
249
232
  }
250
233
  async fulfill(overrides) {
251
234
  this._startHandling();
252
235
  let body = overrides.body;
253
236
  let isBase64 = overrides.isBase64 || false;
254
- if (body === undefined) {
237
+ if (body === void 0) {
255
238
  if (overrides.fetchResponseUid) {
256
- const buffer = this._request._context.fetchRequest.fetchResponses.get(overrides.fetchResponseUid) || _fetch.APIRequestContext.findResponseBody(overrides.fetchResponseUid);
257
- (0, _utils.assert)(buffer, 'Fetch response has been disposed');
258
- body = buffer.toString('base64');
239
+ const buffer = this._request._context.fetchRequest.fetchResponses.get(overrides.fetchResponseUid) || import_fetch.APIRequestContext.findResponseBody(overrides.fetchResponseUid);
240
+ (0, import_utils.assert)(buffer, "Fetch response has been disposed");
241
+ body = buffer.toString("base64");
259
242
  isBase64 = true;
260
243
  } else {
261
- body = '';
244
+ body = "";
262
245
  isBase64 = false;
263
246
  }
264
247
  }
265
- const headers = [...(overrides.headers || [])];
248
+ const headers = [...overrides.headers || []];
266
249
  this._maybeAddCorsHeaders(headers);
267
- this._request._context.emit(_browserContext.BrowserContext.Events.RequestFulfilled, this._request);
250
+ this._request._context.emit(import_browserContext.BrowserContext.Events.RequestFulfilled, this._request);
268
251
  await this._delegate.fulfill({
269
252
  status: overrides.status || 200,
270
253
  headers,
271
- body: body,
254
+ body,
272
255
  isBase64
273
256
  });
274
257
  this._endHandling();
275
258
  }
276
-
277
259
  // See https://github.com/microsoft/playwright/issues/12929
278
260
  _maybeAddCorsHeaders(headers) {
279
- const origin = this._request.headerValue('origin');
280
- if (!origin) return;
261
+ const origin = this._request.headerValue("origin");
262
+ if (!origin)
263
+ return;
281
264
  const requestUrl = new URL(this._request.url());
282
- if (!requestUrl.protocol.startsWith('http')) return;
283
- if (requestUrl.origin === origin.trim()) return;
284
- const corsHeader = headers.find(({
285
- name
286
- }) => name === 'access-control-allow-origin');
287
- if (corsHeader) return;
288
- headers.push({
289
- name: 'access-control-allow-origin',
290
- value: origin
291
- });
292
- headers.push({
293
- name: 'access-control-allow-credentials',
294
- value: 'true'
295
- });
296
- headers.push({
297
- name: 'vary',
298
- value: 'Origin'
299
- });
265
+ if (!requestUrl.protocol.startsWith("http"))
266
+ return;
267
+ if (requestUrl.origin === origin.trim())
268
+ return;
269
+ const corsHeader = headers.find(({ name }) => name === "access-control-allow-origin");
270
+ if (corsHeader)
271
+ return;
272
+ headers.push({ name: "access-control-allow-origin", value: origin });
273
+ headers.push({ name: "access-control-allow-credentials", value: "true" });
274
+ headers.push({ name: "vary", value: "Origin" });
300
275
  }
301
276
  async continue(overrides) {
302
277
  this._startHandling();
303
278
  if (overrides.url) {
304
279
  const newUrl = new URL(overrides.url);
305
280
  const oldUrl = new URL(this._request.url());
306
- if (oldUrl.protocol !== newUrl.protocol) throw new Error('New URL must have same protocol as overridden URL');
281
+ if (oldUrl.protocol !== newUrl.protocol)
282
+ throw new Error("New URL must have same protocol as overridden URL");
307
283
  }
284
+ if (overrides.headers)
285
+ overrides.headers = overrides.headers?.filter((header) => header.name.toLowerCase() !== "cookie");
308
286
  this._request._setOverrides(overrides);
309
- if (!overrides.isFallback) this._request._context.emit(_browserContext.BrowserContext.Events.RequestContinued, this._request);
287
+ if (!overrides.isFallback)
288
+ this._request._context.emit(import_browserContext.BrowserContext.Events.RequestContinued, this._request);
310
289
  await this._delegate.continue(overrides);
311
290
  this._endHandling();
312
291
  }
313
292
  _startHandling() {
314
- (0, _utils.assert)(!this._handled, 'Route is already handled!');
293
+ (0, import_utils.assert)(!this._handled, "Route is already handled!");
315
294
  this._handled = true;
316
295
  }
317
296
  _endHandling() {
318
297
  this._request._context.removeRouteInFlight(this);
319
298
  }
320
299
  }
321
- exports.Route = Route;
322
- class Response extends _instrumentation.SdkObject {
323
- constructor(request, status, statusText, headers, timing, getResponseBodyCallback, fromServiceWorker, httpVersion) {
324
- super(request.frame() || request._context, 'response');
325
- this._request = void 0;
300
+ class Response extends import_instrumentation.SdkObject {
301
+ constructor(request, status, statusText2, headers, timing, getResponseBodyCallback, fromServiceWorker, httpVersion) {
302
+ super(request.frame() || request._context, "response");
326
303
  this._contentPromise = null;
327
- this._finishedPromise = new _manualPromise.ManualPromise();
328
- this._status = void 0;
329
- this._statusText = void 0;
330
- this._url = void 0;
331
- this._headers = void 0;
332
- this._headersMap = new Map();
333
- this._getResponseBodyCallback = void 0;
334
- this._timing = void 0;
335
- this._serverAddrPromise = new _manualPromise.ManualPromise();
336
- this._securityDetailsPromise = new _manualPromise.ManualPromise();
337
- this._rawResponseHeadersPromise = new _manualPromise.ManualPromise();
338
- this._httpVersion = void 0;
339
- this._fromServiceWorker = void 0;
340
- this._encodedBodySizePromise = new _manualPromise.ManualPromise();
341
- this._transferSizePromise = new _manualPromise.ManualPromise();
342
- this._responseHeadersSizePromise = new _manualPromise.ManualPromise();
304
+ this._finishedPromise = new import_manualPromise.ManualPromise();
305
+ this._headersMap = /* @__PURE__ */ new Map();
306
+ this._serverAddrPromise = new import_manualPromise.ManualPromise();
307
+ this._securityDetailsPromise = new import_manualPromise.ManualPromise();
308
+ this._rawResponseHeadersPromise = new import_manualPromise.ManualPromise();
309
+ this._encodedBodySizePromise = new import_manualPromise.ManualPromise();
310
+ this._transferSizePromise = new import_manualPromise.ManualPromise();
311
+ this._responseHeadersSizePromise = new import_manualPromise.ManualPromise();
343
312
  this._request = request;
344
313
  this._timing = timing;
345
314
  this._status = status;
346
- this._statusText = statusText;
315
+ this._statusText = statusText2;
347
316
  this._url = request.url();
348
317
  this._headers = headers;
349
- for (const {
350
- name,
351
- value
352
- } of this._headers) this._headersMap.set(name.toLowerCase(), value);
318
+ for (const { name, value } of this._headers)
319
+ this._headersMap.set(name.toLowerCase(), value);
353
320
  this._getResponseBodyCallback = getResponseBodyCallback;
354
321
  this._request._setResponse(this);
355
322
  this._httpVersion = httpVersion;
@@ -363,8 +330,8 @@ class Response extends _instrumentation.SdkObject {
363
330
  }
364
331
  _requestFinished(responseEndTiming) {
365
332
  this._request._responseEndTiming = Math.max(responseEndTiming, this._timing.responseStart);
366
- // Set start time equal to end when request is served from memory cache.
367
- if (this._timing.requestStart === -1) this._timing.requestStart = this._request._responseEndTiming;
333
+ if (this._timing.requestStart === -1)
334
+ this._timing.requestStart = this._request._responseEndTiming;
368
335
  this._finishedPromise.resolve();
369
336
  }
370
337
  _setHttpVersion(httpVersion) {
@@ -388,10 +355,10 @@ class Response extends _instrumentation.SdkObject {
388
355
  async rawResponseHeaders() {
389
356
  return this._rawResponseHeadersPromise;
390
357
  }
391
-
392
358
  // "null" means no raw headers available - we'll use provisional headers as raw headers.
393
359
  setRawResponseHeaders(headers) {
394
- if (!this._rawResponseHeadersPromise.isDone()) this._rawResponseHeadersPromise.resolve(headers || this._headers);
360
+ if (!this._rawResponseHeadersPromise.isDone())
361
+ this._rawResponseHeadersPromise.resolve(headers || this._headers);
395
362
  }
396
363
  setTransferSize(size) {
397
364
  this._transferSizePromise.resolve(size);
@@ -406,15 +373,16 @@ class Response extends _instrumentation.SdkObject {
406
373
  return this._timing;
407
374
  }
408
375
  async serverAddr() {
409
- return (await this._serverAddrPromise) || null;
376
+ return await this._serverAddrPromise || null;
410
377
  }
411
378
  async securityDetails() {
412
- return (await this._securityDetailsPromise) || null;
379
+ return await this._securityDetailsPromise || null;
413
380
  }
414
381
  body() {
415
382
  if (!this._contentPromise) {
416
383
  this._contentPromise = this._finishedPromise.then(async () => {
417
- if (this._status >= 300 && this._status <= 399) throw new Error('Response body is unavailable for redirect responses');
384
+ if (this._status >= 300 && this._status <= 399)
385
+ throw new Error("Response body is unavailable for redirect responses");
418
386
  return this._getResponseBodyCallback();
419
387
  });
420
388
  }
@@ -427,9 +395,12 @@ class Response extends _instrumentation.SdkObject {
427
395
  return this._request.frame();
428
396
  }
429
397
  httpVersion() {
430
- if (!this._httpVersion) return 'HTTP/1.1';
431
- if (this._httpVersion === 'http/1.1') return 'HTTP/1.1';
432
- if (this._httpVersion === 'h2') return 'HTTP/2.0';
398
+ if (!this._httpVersion)
399
+ return "HTTP/1.1";
400
+ if (this._httpVersion === "http/1.1")
401
+ return "HTTP/1.1";
402
+ if (this._httpVersion === "h2")
403
+ return "HTTP/2.0";
433
404
  return this._httpVersion;
434
405
  }
435
406
  fromServiceWorker() {
@@ -437,16 +408,16 @@ class Response extends _instrumentation.SdkObject {
437
408
  }
438
409
  async responseHeadersSize() {
439
410
  const availableSize = await this._responseHeadersSizePromise;
440
- if (availableSize !== null) return availableSize;
441
-
442
- // Fallback to calculating it manually.
443
- let headersSize = 4; // 4 = 2 spaces + 2 line breaks (HTTP/1.1 200 Ok\r\n)
444
- headersSize += 8; // httpVersion;
445
- headersSize += 3; // statusCode;
411
+ if (availableSize !== null)
412
+ return availableSize;
413
+ let headersSize = 4;
414
+ headersSize += 8;
415
+ headersSize += 3;
446
416
  headersSize += this.statusText().length;
447
417
  const headers = await this._rawResponseHeadersPromise;
448
- for (const header of headers) headersSize += header.name.length + header.value.length + 4; // 4 = ': ' + '\r\n'
449
- headersSize += 2; // '\r\n'
418
+ for (const header of headers)
419
+ headersSize += header.name.length + header.value.length + 4;
420
+ headersSize += 2;
450
421
  return headersSize;
451
422
  }
452
423
  async sizes() {
@@ -454,15 +425,12 @@ class Response extends _instrumentation.SdkObject {
454
425
  const responseHeadersSize = await this.responseHeadersSize();
455
426
  let encodedBodySize = await this._encodedBodySizePromise;
456
427
  if (encodedBodySize === null) {
457
- var _headers$find;
458
- // Fallback to calculating it manually.
459
428
  const headers = await this._rawResponseHeadersPromise;
460
- const contentLength = (_headers$find = headers.find(h => h.name.toLowerCase() === 'content-length')) === null || _headers$find === void 0 ? void 0 : _headers$find.value;
429
+ const contentLength = headers.find((h) => h.name.toLowerCase() === "content-length")?.value;
461
430
  encodedBodySize = contentLength ? +contentLength : 0;
462
431
  }
463
432
  let transferSize = await this._transferSizePromise;
464
433
  if (transferSize === null) {
465
- // Fallback to calculating it manually.
466
434
  transferSize = responseHeadersSize + encodedBodySize;
467
435
  }
468
436
  return {
@@ -474,19 +442,23 @@ class Response extends _instrumentation.SdkObject {
474
442
  };
475
443
  }
476
444
  }
477
- exports.Response = Response;
478
- class WebSocket extends _instrumentation.SdkObject {
445
+ class WebSocket extends import_instrumentation.SdkObject {
479
446
  constructor(parent, url) {
480
- super(parent, 'ws');
481
- this._url = void 0;
447
+ super(parent, "ws");
482
448
  this._notified = false;
483
449
  this._url = url;
484
450
  }
451
+ static {
452
+ this.Events = {
453
+ Close: "close",
454
+ SocketError: "socketerror",
455
+ FrameReceived: "framereceived",
456
+ FrameSent: "framesent"
457
+ };
458
+ }
485
459
  markAsNotified() {
486
- // Sometimes we get "onWebSocketRequest" twice, at least in Chromium.
487
- // Perhaps websocket is restarted because of chrome.webRequest extensions api?
488
- // Or maybe the handshake response was a redirect?
489
- if (this._notified) return false;
460
+ if (this._notified)
461
+ return false;
490
462
  this._notified = true;
491
463
  return true;
492
464
  }
@@ -494,16 +466,10 @@ class WebSocket extends _instrumentation.SdkObject {
494
466
  return this._url;
495
467
  }
496
468
  frameSent(opcode, data) {
497
- this.emit(WebSocket.Events.FrameSent, {
498
- opcode,
499
- data
500
- });
469
+ this.emit(WebSocket.Events.FrameSent, { opcode, data });
501
470
  }
502
471
  frameReceived(opcode, data) {
503
- this.emit(WebSocket.Events.FrameReceived, {
504
- opcode,
505
- data
506
- });
472
+ this.emit(WebSocket.Events.FrameReceived, { opcode, data });
507
473
  }
508
474
  error(errorMessage) {
509
475
  this.emit(WebSocket.Events.SocketError, errorMessage);
@@ -512,106 +478,106 @@ class WebSocket extends _instrumentation.SdkObject {
512
478
  this.emit(WebSocket.Events.Close);
513
479
  }
514
480
  }
515
- exports.WebSocket = WebSocket;
516
- WebSocket.Events = {
517
- Close: 'close',
518
- SocketError: 'socketerror',
519
- FrameReceived: 'framereceived',
520
- FrameSent: 'framesent'
521
- };
522
- // List taken from https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml with extra 306 and 418 codes.
523
481
  const STATUS_TEXTS = {
524
- '100': 'Continue',
525
- '101': 'Switching Protocols',
526
- '102': 'Processing',
527
- '103': 'Early Hints',
528
- '200': 'OK',
529
- '201': 'Created',
530
- '202': 'Accepted',
531
- '203': 'Non-Authoritative Information',
532
- '204': 'No Content',
533
- '205': 'Reset Content',
534
- '206': 'Partial Content',
535
- '207': 'Multi-Status',
536
- '208': 'Already Reported',
537
- '226': 'IM Used',
538
- '300': 'Multiple Choices',
539
- '301': 'Moved Permanently',
540
- '302': 'Found',
541
- '303': 'See Other',
542
- '304': 'Not Modified',
543
- '305': 'Use Proxy',
544
- '306': 'Switch Proxy',
545
- '307': 'Temporary Redirect',
546
- '308': 'Permanent Redirect',
547
- '400': 'Bad Request',
548
- '401': 'Unauthorized',
549
- '402': 'Payment Required',
550
- '403': 'Forbidden',
551
- '404': 'Not Found',
552
- '405': 'Method Not Allowed',
553
- '406': 'Not Acceptable',
554
- '407': 'Proxy Authentication Required',
555
- '408': 'Request Timeout',
556
- '409': 'Conflict',
557
- '410': 'Gone',
558
- '411': 'Length Required',
559
- '412': 'Precondition Failed',
560
- '413': 'Payload Too Large',
561
- '414': 'URI Too Long',
562
- '415': 'Unsupported Media Type',
563
- '416': 'Range Not Satisfiable',
564
- '417': 'Expectation Failed',
565
- '418': 'I\'m a teapot',
566
- '421': 'Misdirected Request',
567
- '422': 'Unprocessable Entity',
568
- '423': 'Locked',
569
- '424': 'Failed Dependency',
570
- '425': 'Too Early',
571
- '426': 'Upgrade Required',
572
- '428': 'Precondition Required',
573
- '429': 'Too Many Requests',
574
- '431': 'Request Header Fields Too Large',
575
- '451': 'Unavailable For Legal Reasons',
576
- '500': 'Internal Server Error',
577
- '501': 'Not Implemented',
578
- '502': 'Bad Gateway',
579
- '503': 'Service Unavailable',
580
- '504': 'Gateway Timeout',
581
- '505': 'HTTP Version Not Supported',
582
- '506': 'Variant Also Negotiates',
583
- '507': 'Insufficient Storage',
584
- '508': 'Loop Detected',
585
- '510': 'Not Extended',
586
- '511': 'Network Authentication Required'
482
+ "100": "Continue",
483
+ "101": "Switching Protocols",
484
+ "102": "Processing",
485
+ "103": "Early Hints",
486
+ "200": "OK",
487
+ "201": "Created",
488
+ "202": "Accepted",
489
+ "203": "Non-Authoritative Information",
490
+ "204": "No Content",
491
+ "205": "Reset Content",
492
+ "206": "Partial Content",
493
+ "207": "Multi-Status",
494
+ "208": "Already Reported",
495
+ "226": "IM Used",
496
+ "300": "Multiple Choices",
497
+ "301": "Moved Permanently",
498
+ "302": "Found",
499
+ "303": "See Other",
500
+ "304": "Not Modified",
501
+ "305": "Use Proxy",
502
+ "306": "Switch Proxy",
503
+ "307": "Temporary Redirect",
504
+ "308": "Permanent Redirect",
505
+ "400": "Bad Request",
506
+ "401": "Unauthorized",
507
+ "402": "Payment Required",
508
+ "403": "Forbidden",
509
+ "404": "Not Found",
510
+ "405": "Method Not Allowed",
511
+ "406": "Not Acceptable",
512
+ "407": "Proxy Authentication Required",
513
+ "408": "Request Timeout",
514
+ "409": "Conflict",
515
+ "410": "Gone",
516
+ "411": "Length Required",
517
+ "412": "Precondition Failed",
518
+ "413": "Payload Too Large",
519
+ "414": "URI Too Long",
520
+ "415": "Unsupported Media Type",
521
+ "416": "Range Not Satisfiable",
522
+ "417": "Expectation Failed",
523
+ "418": "I'm a teapot",
524
+ "421": "Misdirected Request",
525
+ "422": "Unprocessable Entity",
526
+ "423": "Locked",
527
+ "424": "Failed Dependency",
528
+ "425": "Too Early",
529
+ "426": "Upgrade Required",
530
+ "428": "Precondition Required",
531
+ "429": "Too Many Requests",
532
+ "431": "Request Header Fields Too Large",
533
+ "451": "Unavailable For Legal Reasons",
534
+ "500": "Internal Server Error",
535
+ "501": "Not Implemented",
536
+ "502": "Bad Gateway",
537
+ "503": "Service Unavailable",
538
+ "504": "Gateway Timeout",
539
+ "505": "HTTP Version Not Supported",
540
+ "506": "Variant Also Negotiates",
541
+ "507": "Insufficient Storage",
542
+ "508": "Loop Detected",
543
+ "510": "Not Extended",
544
+ "511": "Network Authentication Required"
587
545
  };
588
546
  function statusText(status) {
589
- return STATUS_TEXTS[String(status)] || 'Unknown';
547
+ return STATUS_TEXTS[String(status)] || "Unknown";
590
548
  }
591
549
  function singleHeader(name, value) {
592
- return [{
593
- name,
594
- value
595
- }];
550
+ return [{ name, value }];
596
551
  }
597
552
  function mergeHeaders(headers) {
598
- const lowerCaseToValue = new Map();
599
- const lowerCaseToOriginalCase = new Map();
553
+ const lowerCaseToValue = /* @__PURE__ */ new Map();
554
+ const lowerCaseToOriginalCase = /* @__PURE__ */ new Map();
600
555
  for (const h of headers) {
601
- if (!h) continue;
602
- for (const {
603
- name,
604
- value
605
- } of h) {
556
+ if (!h)
557
+ continue;
558
+ for (const { name, value } of h) {
606
559
  const lower = name.toLowerCase();
607
560
  lowerCaseToOriginalCase.set(lower, name);
608
561
  lowerCaseToValue.set(lower, value);
609
562
  }
610
563
  }
611
564
  const result = [];
612
- for (const [lower, value] of lowerCaseToValue) result.push({
613
- name: lowerCaseToOriginalCase.get(lower),
614
- value
615
- });
565
+ for (const [lower, value] of lowerCaseToValue)
566
+ result.push({ name: lowerCaseToOriginalCase.get(lower), value });
616
567
  return result;
617
- }
568
+ }
569
+ // Annotate the CommonJS export names for ESM import in node:
570
+ 0 && (module.exports = {
571
+ Request,
572
+ Response,
573
+ Route,
574
+ WebSocket,
575
+ filterCookies,
576
+ kMaxCookieExpiresDateInSeconds,
577
+ mergeHeaders,
578
+ parseURL,
579
+ rewriteCookies,
580
+ singleHeader,
581
+ statusText,
582
+ stripFragmentFromUrl
583
+ });