Skip to content

Commit 3b52271

Browse files
committed
Fix url creation
1 parent f432517 commit 3b52271

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

src/Elastic.Clients.Elasticsearch/_Shared/Client/ElasticsearchClient.cs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,12 @@ private ValueTask<TResponse> DoRequestCoreAsync<TRequest, TResponse, TRequestPar
164164

165165
ValueTask<TResponse> SendRequest()
166166
{
167-
var (resolvedUrl, _, resolvedRouteValues, postData) = PrepareRequest<TRequest, TRequestParameters>(request);
167+
var (endpointPath, resolvedRouteValues, postData) = PrepareRequest<TRequest, TRequestParameters>(request);
168168
var openTelemetryData = PrepareOpenTelemetryData<TRequest, TRequestParameters>(request, resolvedRouteValues);
169169

170170
return isAsync
171-
? new ValueTask<TResponse>(_transport
172-
.RequestAsync<TResponse>(new EndpointPath(request.HttpMethod, resolvedUrl), postData, in openTelemetryData, request.RequestConfig, cancellationToken))
173-
: new ValueTask<TResponse>(_transport
174-
.Request<TResponse>(new EndpointPath(request.HttpMethod, resolvedUrl), postData, in openTelemetryData, request.RequestConfig));
171+
? new ValueTask<TResponse>(_transport.RequestAsync<TResponse>(endpointPath, postData, in openTelemetryData, request.RequestConfig, cancellationToken))
172+
: new ValueTask<TResponse>(_transport.Request<TResponse>(endpointPath, postData, in openTelemetryData, request.RequestConfig));
175173
}
176174

177175
async ValueTask<TResponse> SendRequestWithProductCheck()
@@ -212,21 +210,20 @@ async ValueTask<TResponse> SendRequestWithProductCheckCore()
212210

213211
// Send request
214212

215-
var (resolvedUrl, _, resolvedRouteValues, postData) = PrepareRequest<TRequest, TRequestParameters>(request);
213+
var (endpointPath, resolvedRouteValues, postData) = PrepareRequest<TRequest, TRequestParameters>(request);
216214
var openTelemetryData = PrepareOpenTelemetryData<TRequest, TRequestParameters>(request, resolvedRouteValues);
217215

218216
TResponse response;
219217

220218
if (isAsync)
221219
{
222220
response = await _transport
223-
.RequestAsync<TResponse>(new EndpointPath(request.HttpMethod, resolvedUrl), postData, in openTelemetryData, requestConfig, cancellationToken)
221+
.RequestAsync<TResponse>(endpointPath, postData, in openTelemetryData, requestConfig, cancellationToken)
224222
.ConfigureAwait(false);
225223
}
226224
else
227225
{
228-
response = _transport
229-
.Request<TResponse>(new EndpointPath(request.HttpMethod, resolvedUrl), postData, in openTelemetryData, requestConfig);
226+
response = _transport.Request<TResponse>(endpointPath, postData, in openTelemetryData, requestConfig);
230227
}
231228

232229
// Evaluate product check result
@@ -290,20 +287,21 @@ private static OpenTelemetryData PrepareOpenTelemetryData<TRequest, TRequestPara
290287
return openTelemetryData;
291288
}
292289

293-
private (string resolvedUrl, string urlTemplate, Dictionary<string, string>? resolvedRouteValues, PostData data) PrepareRequest<TRequest, TRequestParameters>(TRequest request)
290+
private (EndpointPath endpointPath, Dictionary<string, string>? resolvedRouteValues, PostData data) PrepareRequest<TRequest, TRequestParameters>(TRequest request)
294291
where TRequest : Request<TRequestParameters>
295292
where TRequestParameters : RequestParameters, new()
296293
{
297294
request.ThrowIfNull(nameof(request), "A request is required.");
298295

299-
var (resolvedUrl, urlTemplate, routeValues) = request.GetUrl(ElasticsearchClientSettings);
296+
var (resolvedUrl, _, routeValues) = request.GetUrl(ElasticsearchClientSettings);
297+
var pathAndQuery = request.RequestParameters.CreatePathWithQueryStrings(resolvedUrl, ElasticsearchClientSettings);
300298

301299
var postData =
302300
request.HttpMethod == HttpMethod.GET ||
303301
request.HttpMethod == HttpMethod.HEAD || !request.SupportsBody
304302
? null
305303
: PostData.Serializable(request);
306304

307-
return (resolvedUrl, urlTemplate, routeValues, postData);
305+
return (new EndpointPath(request.HttpMethod, pathAndQuery), routeValues, postData);
308306
}
309307
}

0 commit comments

Comments
 (0)