Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public partial class BulkRequest : IStreamSerializable

internal Request Self => this;

protected internal override IRequestConfiguration RequestConfig => RequestConfigSingleton;
public override IRequestConfiguration RequestConfiguration => RequestConfigSingleton;

public BulkOperationsCollection? Operations { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ ValueTask<TResponse> SendRequest()
var openTelemetryDataMutator = GetOpenTelemetryDataMutator<TRequest, TRequestParameters>(request, resolvedRouteValues);

return isAsync
? new ValueTask<TResponse>(_transport.RequestAsync<TResponse>(endpointPath, postData, openTelemetryDataMutator, request.RequestConfig, cancellationToken))
: new ValueTask<TResponse>(_transport.Request<TResponse>(endpointPath, postData, openTelemetryDataMutator, request.RequestConfig));
? new ValueTask<TResponse>(_transport.RequestAsync<TResponse>(endpointPath, postData, openTelemetryDataMutator, request.RequestConfiguration, cancellationToken))
: new ValueTask<TResponse>(_transport.Request<TResponse>(endpointPath, postData, openTelemetryDataMutator, request.RequestConfiguration));
}

async ValueTask<TResponse> SendRequestWithProductCheck()
Expand All @@ -189,15 +189,15 @@ async ValueTask<TResponse> SendRequestWithProductCheckCore()
// Attach product check header

// TODO: The copy constructor should accept null values
var requestConfig = (request.RequestConfig is null)
var requestConfig = (request.RequestConfiguration is null)
? new RequestConfiguration()
{
ResponseHeadersToParse = new HeadersList("x-elastic-product")
}
: new RequestConfiguration(request.RequestConfig)
: new RequestConfiguration(request.RequestConfiguration)
{
ResponseHeadersToParse = (request.RequestConfig.ResponseHeadersToParse is { Count: > 0 })
? new HeadersList(request.RequestConfig.ResponseHeadersToParse, "x-elastic-product")
ResponseHeadersToParse = (request.RequestConfiguration.ResponseHeadersToParse is { Count: > 0 })
? new HeadersList(request.RequestConfiguration.ResponseHeadersToParse, "x-elastic-product")
: new HeadersList("x-elastic-product")
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,4 @@ public string? SourceQueryString
get => Q<string>("source");
set => Q("source", value);
}

/// <summary>
/// Specify settings for this request alone, handy if you need a custom timeout or want to bypass sniffing, retries
/// </summary>
[JsonIgnore]
public IRequestConfiguration? RequestConfiguration { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ public abstract class Request
internal Request()
{ }

[JsonIgnore] protected internal virtual IRequestConfiguration? RequestConfig { get; set; }
/// <summary>
/// Specify settings for this request alone, handy if you need a custom timeout or want to bypass sniffing, retries
/// </summary>
[JsonIgnore]
public virtual IRequestConfiguration? RequestConfiguration { get; set; }

/// <summary>
/// The default HTTP method for the request which is based on the Elasticsearch Specification endpoint definition.
Expand Down
Loading