summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/html_ws-test-page.html
blob: 7abcd033ed43db98159f96481ab86450ed611252 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!-- Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/ -->
<!doctype HTML>
<html>
  <head>
    <meta charset="utf-8"/>
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>WebSocket Inspection Test Page</title>
  </head>
  <body>
    <h1>WebSocket Inspection Test Page</h1>
    <script type="text/javascript">
      /* exported openConnection, closeConnection, sendData, sendFrames */
      "use strict";

      let ws;
      function openConnection(numFramesToSend) {
        return new Promise(resolve => {
          ws = new WebSocket(
            "ws://mochi.test:8888/browser/devtools/client/netmonitor/test/file_ws_backend");

          ws.onopen = () => {
            for (let i = 0; i < numFramesToSend; i++) {
              ws.send("Payload " + i);
            }
            resolve();
          };
        });
      }

      function sendFrames(numFramesToSend) {
        return new Promise(resolve => {
          for (let i = 0; i < numFramesToSend; i++) {
            ws.send("Payload " + i);
          }
        resolve();
        })
      }

      function closeConnection() {
        return new Promise(resolve => {
          ws.onclose = () => {
            resolve();
          }
          ws.close();
        })
      }

      function sendData(payload, asBinary = false) {
        ws.send(
          asBinary ? Uint8Array.from(payload, c => c.charCodeAt(0)) : payload
        );
      }
    </script>
  </body>
</html>