/// <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); }
/// <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); }