public function addRequiredHeaders() { foreach ($this->defaultHeaders as $k => $v) { // remove any header that is there now $this->request = $this->request->withoutHeader($k); $this->request = $this->request->withHeader($k, $v); } if (!empty($this->subProtocols)) { $this->request = $this->request->withoutHeader('Sec-WebSocket-Protocol'); $this->request = $this->request->withHeader('Sec-WebSocket-Protocol', $this->subProtocols); } $this->request = $this->request->withoutHeader("Sec-WebSocket-Key"); $this->request = $this->request->withHeader("Sec-WebSocket-Key", $this->websocketKey); }