PHPDaemon\Servers\WebSocket\Protocols\V13::sendHandshakeReply PHP Method

sendHandshakeReply() public method

Sends a handshake message reply
public sendHandshakeReply ( $extraHeaders = '' ) : boolean
return boolean OK?
    public function sendHandshakeReply($extraHeaders = '')
    {
        if (!isset($this->server['HTTP_SEC_WEBSOCKET_KEY']) || !isset($this->server['HTTP_SEC_WEBSOCKET_VERSION'])) {
            return false;
        }
        if ($this->server['HTTP_SEC_WEBSOCKET_VERSION'] !== '13' && $this->server['HTTP_SEC_WEBSOCKET_VERSION'] !== '8') {
            return false;
        }
        if (isset($this->server['HTTP_ORIGIN'])) {
            $this->server['HTTP_SEC_WEBSOCKET_ORIGIN'] = $this->server['HTTP_ORIGIN'];
        }
        if (!isset($this->server['HTTP_SEC_WEBSOCKET_ORIGIN'])) {
            $this->server['HTTP_SEC_WEBSOCKET_ORIGIN'] = '';
        }
        $this->write("HTTP/1.1 101 Switching Protocols\r\n" . "Upgrade: WebSocket\r\n" . "Connection: Upgrade\r\n" . "Date: " . date('r') . "\r\n" . "Sec-WebSocket-Origin: " . $this->server['HTTP_SEC_WEBSOCKET_ORIGIN'] . "\r\n" . "Sec-WebSocket-Location: ws://" . $this->server['HTTP_HOST'] . $this->server['REQUEST_URI'] . "\r\n" . "Sec-WebSocket-Accept: " . base64_encode(sha1(trim($this->server['HTTP_SEC_WEBSOCKET_KEY']) . "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true)) . "\r\n");
        if (isset($this->server['HTTP_SEC_WEBSOCKET_PROTOCOL'])) {
            $this->writeln("Sec-WebSocket-Protocol: " . $this->server['HTTP_SEC_WEBSOCKET_PROTOCOL']);
        }
        if ($this->pool->config->expose->value) {
            $this->writeln('X-Powered-By: phpDaemon/' . Daemon::$version);
        }
        $this->writeln($extraHeaders);
        return true;
    }