/// <inheritdoc />
        public IObservable <GraphQLResponse <TResponse> > CreateSubscriptionStream <TResponse>(GraphQLRequest request, Action <Exception>?exceptionHandler)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(GraphQLHttpClient));
            }

            var observable = GraphQlHttpWebSocket.CreateSubscriptionStream <TResponse>(request, exceptionHandler);

            return(observable);
        }
示例#2
0
        /// <inheritdoc />
        public IObservable <GraphQLResponse <TResponse> > CreateSubscriptionStream <TResponse>(GraphQLRequest request, Action <Exception> exceptionHandler)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(GraphQLHttpClient));
            }

            var key = new Tuple <GraphQLRequest, Type>(request, typeof(TResponse));

            if (_subscriptionStreams.ContainsKey(key))
            {
                return((IObservable <GraphQLResponse <TResponse> >)_subscriptionStreams[key]);
            }

            var observable = GraphQlHttpWebSocket.CreateSubscriptionStream <TResponse>(request, exceptionHandler);

            _subscriptionStreams.TryAdd(key, observable);
            return(observable);
        }