@@ -55,7 +55,7 @@ public GraphQLHttpClient(Uri endPoint, IGraphQLWebsocketJsonSerializer serialize
5555 public GraphQLHttpClient ( Action < GraphQLHttpClientOptions > configure , IGraphQLWebsocketJsonSerializer serializer ) : this ( configure . New ( ) , serializer ) { }
5656
5757 public GraphQLHttpClient ( GraphQLHttpClientOptions options , IGraphQLWebsocketJsonSerializer serializer ) : this ( options , serializer , new HttpClient ( options . HttpMessageHandler ) ) { }
58-
58+
5959 public GraphQLHttpClient ( GraphQLHttpClientOptions options , IGraphQLWebsocketJsonSerializer serializer , HttpClient httpClient )
6060 {
6161 Options = options ?? throw new ArgumentNullException ( nameof ( options ) ) ;
@@ -65,7 +65,7 @@ public GraphQLHttpClient(GraphQLHttpClientOptions options, IGraphQLWebsocketJson
6565 if ( ! HttpClient . DefaultRequestHeaders . UserAgent . Any ( ) )
6666 HttpClient . DefaultRequestHeaders . UserAgent . Add ( new ProductInfoHeaderValue ( GetType ( ) . Assembly . GetName ( ) . Name , GetType ( ) . Assembly . GetName ( ) . Version . ToString ( ) ) ) ;
6767
68- _lazyHttpWebSocket = new Lazy < GraphQLHttpWebSocket > ( ( ) => new GraphQLHttpWebSocket ( GetWebSocketUri ( ) , this ) ) ;
68+ _lazyHttpWebSocket = new Lazy < GraphQLHttpWebSocket > ( ( ) => new GraphQLHttpWebSocket ( Options . EndPoint . GetWebSocketUri ( ) , this ) ) ;
6969 }
7070
7171 #endregion
@@ -75,7 +75,7 @@ public GraphQLHttpClient(GraphQLHttpClientOptions options, IGraphQLWebsocketJson
7575 /// <inheritdoc />
7676 public async Task < GraphQLResponse < TResponse > > SendQueryAsync < TResponse > ( GraphQLRequest request , CancellationToken cancellationToken = default )
7777 {
78- if ( Options . UseWebSocketForQueriesAndMutations )
78+ if ( Options . UseWebSocketForQueriesAndMutations || Options . EndPoint . HasWebSocketScheme ( ) )
7979 return await _graphQlHttpWebSocket . SendRequest < TResponse > ( request , cancellationToken ) ;
8080
8181 return await SendHttpRequestAsync < TResponse > ( request , cancellationToken ) ;
@@ -132,7 +132,7 @@ public IObservable<GraphQLResponse<TResponse>> CreateSubscriptionStream<TRespons
132132 private async Task < GraphQLHttpResponse < TResponse > > SendHttpRequestAsync < TResponse > ( GraphQLRequest request , CancellationToken cancellationToken = default )
133133 {
134134 var preprocessedRequest = await Options . PreprocessRequest ( request , this ) ;
135-
135+
136136 using var httpRequestMessage = preprocessedRequest . ToHttpRequestMessage ( Options , JsonSerializer ) ;
137137 using var httpResponseMessage = await HttpClient . SendAsync ( httpRequestMessage , HttpCompletionOption . ResponseHeadersRead , cancellationToken ) ;
138138
@@ -152,13 +152,6 @@ private async Task<GraphQLHttpResponse<TResponse>> SendHttpRequestAsync<TRespons
152152
153153 throw new GraphQLHttpRequestException ( httpResponseMessage . StatusCode , httpResponseMessage . Headers , content ) ;
154154 }
155-
156- private Uri GetWebSocketUri ( )
157- {
158- string webSocketSchema = Options . EndPoint . Scheme == "https" ? "wss" : "ws" ;
159- return new Uri ( $ "{ webSocketSchema } ://{ Options . EndPoint . Host } :{ Options . EndPoint . Port } { Options . EndPoint . AbsolutePath } ") ;
160- }
161-
162155 #endregion
163156
164157 #region IDisposable
0 commit comments