()
| 28 | } |
| 29 | |
| 30 | async function test() { |
| 31 | await session.post('Network.enable'); |
| 32 | |
| 33 | const CUSTOM_HEADER_NAME = 'X-Custom-Header'; |
| 34 | const CUSTOM_HEADER_VALUE = 'CustomHeaderValue'; |
| 35 | |
| 36 | const server = new WebSocketServer({ |
| 37 | responseError: true, |
| 38 | customHandleUpgradeHeaders: [ |
| 39 | `${CUSTOM_HEADER_NAME}: ${CUSTOM_HEADER_VALUE}`, |
| 40 | ] |
| 41 | }); |
| 42 | await server.start(); |
| 43 | const url = `ws://127.0.0.1:${server.port}/`; |
| 44 | let requestId; |
| 45 | once(session, 'Network.webSocketCreated').then(common.mustCall(([message]) => { |
| 46 | assert.strictEqual(message.method, 'Network.webSocketCreated'); |
| 47 | assert.strictEqual(message.params.url, url); |
| 48 | assert.ok(message.params.requestId); |
| 49 | assert.strictEqual(typeof message.params.initiator, 'object'); |
| 50 | assert.strictEqual(message.params.initiator.type, 'script'); |
| 51 | assert.ok(findFrameInInitiator(nameRE, message.params.initiator)); |
| 52 | requestId = message.params.requestId; |
| 53 | })); |
| 54 | |
| 55 | once(session, 'Network.webSocketHandshakeResponseReceived').then(common.mustCall(([message]) => { |
| 56 | assert.strictEqual(message.params.requestId, requestId); |
| 57 | assert.strictEqual(message.params.response.status, 101); |
| 58 | assert.strictEqual(message.params.response.statusText, 'Switching Protocols'); |
| 59 | assert.strictEqual(message.params.response.headers.upgrade, 'websocket'); |
| 60 | assert.strictEqual(message.params.response.headers.connection, 'Upgrade'); |
| 61 | assert.ok(message.params.response.headers['sec-websocket-accept']); |
| 62 | assert.ok(message.params.response.headers['sec-websocket-accept'].length > 0); |
| 63 | assert.strictEqual(message.params.response.headers[CUSTOM_HEADER_NAME.toLowerCase()], CUSTOM_HEADER_VALUE); |
| 64 | assert.strictEqual(typeof message.params.timestamp, 'number'); |
| 65 | socket.close(); |
| 66 | })); |
| 67 | |
| 68 | const socket = new WebSocket(url); |
| 69 | once(session, 'Network.webSocketClosed').then(common.mustCall(([message]) => { |
| 70 | assert.strictEqual(message.method, 'Network.webSocketClosed'); |
| 71 | assert.strictEqual(message.params.requestId, requestId); |
| 72 | session.disconnect(); |
| 73 | server.server.close(); |
| 74 | })); |
| 75 | } |
| 76 | |
| 77 | test().then(common.mustCall()); |
no test coverage detected
searching dependent graphs…