#!/usr/bin/perl -w
use strict;
use v5.10;
use Digest::SHA "sha1";
use MIME::Base64;
select(((select STDOUT), $| = 1)[0]);
binmode STDOUT, ":crlf";
say "Status: 101";
say "Connection: upgrade";
say "Upgrade: websocket";
# sha1_base64 does not emit valid base64 "to maintain compatibility".
# fucking bullshit.
say "Sec-WebSocket-Accept: "
. encode_base64(sha1($ENV{HTTP_SEC_WEBSOCKET_KEY}
. "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"));
for (;;) { sleep 10; }