Fetch: Sever mit php

time
fetch ... response

Source /home/ch45859/web/wlkl.ch/public_html/inf/php/f02Fetch.php

<html>
 <head>
  <title><?php $cnt=7; echo basename(__file__, '.php'); ?></title>
  <script type="text/javascript">
        const outLi = [];
        function out(t) {
            outLi.unshift(new Date().toTimeString().substring(0,8) + ' ' + t);
            while (outLi.length > 10)
                outLi.pop();
            document.getElementById('out').innerHTML = outLi.reduce((a, c) => a + '<li>' + c + '</li>', '');
        }
        function fetchSleep(t) {
            out('fetch sleep ' + t);
            var m = '';
            fetch("f02FetchServer.php?sleep=" + t)
              .then((response) =>  { m = response.ok ? 'response ok' : 'response status ' + response.status + ' ' + response.statusText; return response.text();}
                   ,(response) =>  { out('reject: ' + response);}
                   )
              .then((txt) => out(m + ' text ' + txt));
     /*                              else out('response bad ' + response.status + ' ' + response.statusText);
                                  }
                   ,(txt) => { if (response.ok) out('reject ok ' + response.text());
                                    else out('reject bad ' + response.status + ' ' + response.statusText);
                                  }
                   ); */
        }
        function cOpen() {
            if (cSock !== null)
                return out('client open, but already open');
            try {
            cSock = new WebSocket(sockUri);
            cSock.onmessage = (event) => out("received: " + event.data);
            cSock.onerror = (event) => cOut(event);
            out('client open setup');
            } catch (e) {out('catch opening ' + e)}
        }
    function cOut(event) {
        var m = "sock error: " + event.constructor.name + ' ' + event.type + ':';
        for (const p in event) 
            m += ', ' + p + '=' + event[p];
        out(m + ' * ' + event);
        }
        function cClose() {
            if (cSock === null)
                return out('client close, but already closed');
            const c = cSock;
            cSock = null;
            c.close();
            out('client closed');
        }

        function cSend() {
            /* out('readyState ' + cSock.readyState); */
            if (cSock === null)
                return out('client send, but socket notopen');
            const t = document.getElementById('cTxt').value;
            const m = 'client send ' + t + " #" + ++cnt + " at " + Date().toString();
            cSock.send(m);
            out(m);
        }
  </script>
</head>
<body>
<h1>Fetch: Sever mit php</h1>
time <input type="text" id="iTime" maxlength="5" size="5" />
<input type="button" value="fetch sleep" onclick="fetchSleep(document.getElementById('iTime').value);" />
<br>fetch ... response
<ul id="out"></ul>
<h1>Source <?php echo __file__; ?> </h1>
<?php $_POST = []; highlight_file(__file__) ?>
 </body>
</html>