<!-- 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>
