From 54d463b70bc33df3d42c428a37b8b1e004c682e0 Mon Sep 17 00:00:00 2001 From: Russ Cam Date: Wed, 22 Apr 2020 14:09:00 +1000 Subject: [PATCH] Add RequestParams overload without optional content type This commit adds back a RequestParams overload on NamespacedClientProxy in Elasticsearch.Net that does not accept a content type optional parameter, and removes the optional part of the parameter on the other overload, for backwards binary compatibility. --- src/Elasticsearch.Net/ElasticLowLevelClient.cs | 4 ++-- src/Elasticsearch.Net/NamespacedClientProxy.cs | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.cs index eebfd425021..281faae63f5 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.cs @@ -75,10 +75,10 @@ public Task DoRequestAsync(HttpMethod method, string path, protected internal TRequestParams RequestParams(TRequestParams requestParams, string contentType = null, string accept = null) where TRequestParams : class, IRequestParameters, new() { - if (contentType.IsNullOrEmpty()) return requestParams; + if (contentType.IsNullOrEmpty() && accept.IsNullOrEmpty()) return requestParams; requestParams ??= new TRequestParams(); - if (requestParams.RequestConfiguration == null) requestParams.RequestConfiguration = new RequestConfiguration(); + requestParams.RequestConfiguration ??= new RequestConfiguration(); if (!contentType.IsNullOrEmpty() && requestParams.RequestConfiguration.ContentType.IsNullOrEmpty()) requestParams.RequestConfiguration.ContentType = contentType; if (!accept.IsNullOrEmpty() && requestParams.RequestConfiguration.Accept.IsNullOrEmpty()) diff --git a/src/Elasticsearch.Net/NamespacedClientProxy.cs b/src/Elasticsearch.Net/NamespacedClientProxy.cs index 3c91daee9ae..91f66f08021 100644 --- a/src/Elasticsearch.Net/NamespacedClientProxy.cs +++ b/src/Elasticsearch.Net/NamespacedClientProxy.cs @@ -20,10 +20,14 @@ protected Task DoRequestAsync(HttpMethod post, string url, protected string Url(FormattableString formattable) => _client.Url(formattable); - protected TRequestParams RequestParams(TRequestParams requestParams, string contentType = null) + protected TRequestParams RequestParams(TRequestParams requestParams, string contentType) where TRequestParams : class, IRequestParameters, new() => _client.RequestParams(requestParams, contentType ?? ContentType, contentType ?? ContentType); + protected TRequestParams RequestParams(TRequestParams requestParams) + where TRequestParams : class, IRequestParameters, new() + => _client.RequestParams(requestParams, ContentType, ContentType); + // ReSharper disable once UnassignedGetOnlyAutoProperty intended to be overridden protected virtual string ContentType { get; } }