@@ -113,7 +113,14 @@ public virtual async Task<ElasticsearchResponse<TReturn>> RequestAsync<TReturn>(
113113 return await builder . ToResponseAsync ( ) . ConfigureAwait ( false ) ;
114114 }
115115
116- private static HttpRequestMessage CreateHttpRequestMessage ( RequestData requestData )
116+ protected virtual HttpRequestMessage CreateHttpRequestMessage ( RequestData requestData )
117+ {
118+ var request = this . CreateRequestMessage ( requestData ) ;
119+ SetBasicAuthenticationIfNeeded ( request , requestData ) ;
120+ return request ;
121+ }
122+
123+ protected virtual HttpRequestMessage CreateRequestMessage ( RequestData requestData )
117124 {
118125 var method = ConvertHttpMethod ( requestData . Method ) ;
119126 var requestMessage = new HttpRequestMessage ( method , requestData . Uri ) ;
@@ -128,17 +135,6 @@ private static HttpRequestMessage CreateHttpRequestMessage(RequestData requestDa
128135 if ( ! requestData . RunAs . IsNullOrEmpty ( ) )
129136 requestMessage . Headers . Add ( "es-shield-runas-user" , requestData . RunAs ) ;
130137
131- string userInfo = null ;
132- if ( ! requestData . Uri . UserInfo . IsNullOrEmpty ( ) )
133- userInfo = Uri . UnescapeDataString ( requestData . Uri . UserInfo ) ;
134- else if ( requestData . BasicAuthorizationCredentials != null )
135- userInfo = requestData . BasicAuthorizationCredentials . ToString ( ) ;
136- if ( ! userInfo . IsNullOrEmpty ( ) )
137- {
138- var credentials = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( userInfo ) ) ;
139- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( "Basic" , credentials ) ;
140- }
141-
142138 var data = requestData . PostData ;
143139
144140 if ( data != null )
@@ -170,6 +166,21 @@ private static HttpRequestMessage CreateHttpRequestMessage(RequestData requestDa
170166 return requestMessage ;
171167 }
172168
169+ protected virtual void SetBasicAuthenticationIfNeeded ( HttpRequestMessage requestMessage , RequestData requestData )
170+ {
171+ string userInfo = null ;
172+ if ( ! requestData . Uri . UserInfo . IsNullOrEmpty ( ) )
173+ userInfo = Uri . UnescapeDataString ( requestData . Uri . UserInfo ) ;
174+ else if ( requestData . BasicAuthorizationCredentials != null )
175+ userInfo = requestData . BasicAuthorizationCredentials . ToString ( ) ;
176+ if ( ! userInfo . IsNullOrEmpty ( ) )
177+ {
178+ var credentials = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( userInfo ) ) ;
179+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( "Basic" , credentials ) ;
180+ }
181+ }
182+
183+
173184 private static System . Net . Http . HttpMethod ConvertHttpMethod ( HttpMethod httpMethod )
174185 {
175186 switch ( httpMethod )
0 commit comments