summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/html_ws-sse-test-page.html
blob: 8936efa81e202e8229992b98be5779825de618a6 (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
59
<!-- 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/SSE Inspection Test Page</title>
       </head>
       <body>
         <h1>WebSocket/SSE Inspection Test Page</h1>
         <script type="text/javascript">
           /* exported openWsConnection, openSseConnection, closeWsConnection, sendData */
           "use strict";

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

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

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

           function sendData(payload) {
             ws.send(payload);
           }

           let es;
           function openSseConnection() {
             return new Promise(resolve => {
               es = new EventSource("sjs_sse-test-server.sjs");
               es.onmessage = function(e) {
                 es.close();
                 resolve();
               };
             });
           }
         </script>
       </body>
     </html>