Example #1
0
        // As client
        private HandshakeRequest createHandshakeRequest()
        {
            var path = _uri.PathAndQuery;
              var host = _uri.Port == 80
               ? _uri.DnsSafeHost
               : _uri.Authority;

              var req = new HandshakeRequest (path);
              req.AddHeader ("Host", host);

              if (_origin.Length > 0)
            req.AddHeader ("Origin", _origin);

              req.AddHeader ("Sec-WebSocket-Key", _base64key);

              if (!_protocols.IsNullOrEmpty ())
            req.AddHeader ("Sec-WebSocket-Protocol", _protocols);

              var extensions = createRequestExtensions ();
              if (extensions.Length > 0)
            req.AddHeader ("Sec-WebSocket-Extensions", extensions);

              req.AddHeader ("Sec-WebSocket-Version", _version);

              if (_preAuth && _credentials != null)
            req.SetAuthorization (new AuthenticationResponse (_credentials));

              if (_cookies.Count > 0)
            req.SetCookies (_cookies);

              return req;
        }