1111
1212namespace Elastic . Clients . Elasticsearch ;
1313
14- /// <summary>
15- /// </summary>
16- /// <remarks>
17- /// Not intended to be used directly.
18- /// </remarks>
1914public abstract class NamespacedClientProxy
2015{
16+ private const string InvalidOperation = "The client has not been initialised for proper usage as may have been partially mocked. Ensure you are using a " +
17+ "new instance of ElasticsearchClient to perform requests over a network to Elasticsearch." ;
18+
2119 private readonly ElasticsearchClient _client ;
20+
21+ /// <summary>
22+ /// Initializes a new instance for mocking.
23+ /// </summary>
24+ protected NamespacedClientProxy ( ) { }
2225
2326 internal NamespacedClientProxy ( ElasticsearchClient client ) => _client = client ;
2427
@@ -28,33 +31,53 @@ internal TResponse DoRequest<TRequest, TResponse, TRequestParameters>(
2831 Action < IRequestConfiguration > ? forceConfiguration = null )
2932 where TRequest : Request < TRequestParameters >
3033 where TResponse : ElasticsearchResponse , new ( )
31- where TRequestParameters : RequestParameters , new ( ) =>
32- _client . DoRequest < TRequest , TResponse , TRequestParameters > ( request , parameters , forceConfiguration ) ;
34+ where TRequestParameters : RequestParameters , new ( )
35+ {
36+ if ( _client is null )
37+ ThrowHelper . ThrowInvalidOperationException ( InvalidOperation ) ;
38+
39+ return _client . DoRequest < TRequest , TResponse , TRequestParameters > ( request , parameters , forceConfiguration ) ;
40+ }
3341
3442 internal TResponse DoRequest < TRequest , TResponse , TRequestParameters > (
3543 TRequest request ,
3644 Action < IRequestConfiguration > ? forceConfiguration = null )
3745 where TRequest : Request < TRequestParameters >
3846 where TResponse : ElasticsearchResponse , new ( )
39- where TRequestParameters : RequestParameters , new ( ) =>
40- _client . DoRequest < TRequest , TResponse , TRequestParameters > ( request , forceConfiguration ) ;
47+ where TRequestParameters : RequestParameters , new ( )
48+ {
49+ if ( _client is null )
50+ ThrowHelper . ThrowInvalidOperationException ( InvalidOperation ) ;
51+
52+ return _client . DoRequest < TRequest , TResponse , TRequestParameters > ( request , forceConfiguration ) ;
53+ }
4154
4255 internal Task < TResponse > DoRequestAsync < TRequest , TResponse , TRequestParameters > (
4356 TRequest request ,
44- TRequestParameters parameters ,
4557 CancellationToken cancellationToken = default )
4658 where TRequest : Request < TRequestParameters >
4759 where TResponse : ElasticsearchResponse , new ( )
48- where TRequestParameters : RequestParameters , new ( ) =>
49- _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , parameters , cancellationToken : cancellationToken ) ;
60+ where TRequestParameters : RequestParameters , new ( )
61+ {
62+ if ( _client is null )
63+ ThrowHelper . ThrowInvalidOperationException ( InvalidOperation ) ;
64+
65+ return _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , cancellationToken : cancellationToken ) ;
66+ }
5067
5168 internal Task < TResponse > DoRequestAsync < TRequest , TResponse , TRequestParameters > (
5269 TRequest request ,
70+ TRequestParameters parameters ,
5371 CancellationToken cancellationToken = default )
5472 where TRequest : Request < TRequestParameters >
5573 where TResponse : ElasticsearchResponse , new ( )
56- where TRequestParameters : RequestParameters , new ( ) =>
57- _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , cancellationToken : cancellationToken ) ;
74+ where TRequestParameters : RequestParameters , new ( )
75+ {
76+ if ( _client is null )
77+ ThrowHelper . ThrowInvalidOperationException ( InvalidOperation ) ;
78+
79+ return _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , parameters , cancellationToken : cancellationToken ) ;
80+ }
5881
5982 internal Task < TResponse > DoRequestAsync < TRequest , TResponse , TRequestParameters > (
6083 TRequest request ,
@@ -63,6 +86,11 @@ internal Task<TResponse> DoRequestAsync<TRequest, TResponse, TRequestParameters>
6386 CancellationToken cancellationToken = default )
6487 where TRequest : Request < TRequestParameters >
6588 where TResponse : ElasticsearchResponse , new ( )
66- where TRequestParameters : RequestParameters , new ( ) =>
67- _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , parameters , forceConfiguration , cancellationToken ) ;
89+ where TRequestParameters : RequestParameters , new ( )
90+ {
91+ if ( _client is null )
92+ ThrowHelper . ThrowInvalidOperationException ( InvalidOperation ) ;
93+
94+ return _client . DoRequestAsync < TRequest , TResponse , TRequestParameters > ( request , parameters , forceConfiguration , cancellationToken ) ;
95+ }
6896}
0 commit comments