@@ -117,7 +117,14 @@ public virtual async Task<ElasticsearchResponse<TReturn>> RequestAsync<TReturn>(
117117 return await builder . ToResponseAsync ( ) . ConfigureAwait ( false ) ;
118118 }
119119
120- private static HttpRequestMessage CreateHttpRequestMessage ( RequestData requestData )
120+ protected virtual HttpRequestMessage CreateHttpRequestMessage ( RequestData requestData )
121+ {
122+ var request = this . CreateRequestMessage ( requestData ) ;
123+ SetBasicAuthenticationIfNeeded ( request , requestData ) ;
124+ return request ;
125+ }
126+
127+ protected virtual HttpRequestMessage CreateRequestMessage ( RequestData requestData )
121128 {
122129 var method = ConvertHttpMethod ( requestData . Method ) ;
123130 var requestMessage = new HttpRequestMessage ( method , requestData . Uri ) ;
@@ -132,17 +139,6 @@ private static HttpRequestMessage CreateHttpRequestMessage(RequestData requestDa
132139 if ( ! requestData . RunAs . IsNullOrEmpty ( ) )
133140 requestMessage . Headers . Add ( "es-shield-runas-user" , requestData . RunAs ) ;
134141
135- string userInfo = null ;
136- if ( ! requestData . Uri . UserInfo . IsNullOrEmpty ( ) )
137- userInfo = Uri . UnescapeDataString ( requestData . Uri . UserInfo ) ;
138- else if ( requestData . BasicAuthorizationCredentials != null )
139- userInfo = requestData . BasicAuthorizationCredentials . ToString ( ) ;
140- if ( ! userInfo . IsNullOrEmpty ( ) )
141- {
142- var credentials = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( userInfo ) ) ;
143- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( "Basic" , credentials ) ;
144- }
145-
146142 var data = requestData . PostData ;
147143
148144 if ( data != null )
@@ -174,6 +170,21 @@ private static HttpRequestMessage CreateHttpRequestMessage(RequestData requestDa
174170 return requestMessage ;
175171 }
176172
173+ protected virtual void SetBasicAuthenticationIfNeeded ( HttpRequestMessage requestMessage , RequestData requestData )
174+ {
175+ string userInfo = null ;
176+ if ( ! requestData . Uri . UserInfo . IsNullOrEmpty ( ) )
177+ userInfo = Uri . UnescapeDataString ( requestData . Uri . UserInfo ) ;
178+ else if ( requestData . BasicAuthorizationCredentials != null )
179+ userInfo = requestData . BasicAuthorizationCredentials . ToString ( ) ;
180+ if ( ! userInfo . IsNullOrEmpty ( ) )
181+ {
182+ var credentials = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( userInfo ) ) ;
183+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( "Basic" , credentials ) ;
184+ }
185+ }
186+
187+
177188 private static System . Net . Http . HttpMethod ConvertHttpMethod ( HttpMethod httpMethod )
178189 {
179190 switch ( httpMethod )
0 commit comments