public IHandler Negotiate(IRequest request, Func<byte[], Task> sendAction)
        {
            if (request.IsUpgradeRequest())
                return _handshakeNegotiator.Negotiate(request, sendAction);

            throw new HandshakeException(HttpStatusCode.BadRequest);
        }