in src/Elastic.Transport/Configuration/TransportConfiguration.cs [79:115]
public TransportConfiguration(
NodePool nodePool,
IRequestInvoker? requestInvoker = null,
Serializer? serializer = null,
ProductRegistration? productRegistration = null
)
{
//non init properties
NodePool = nodePool;
RequestInvoker = requestInvoker ?? new HttpRequestInvoker();
ProductRegistration = productRegistration ?? DefaultProductRegistration.Default;
RequestResponseSerializer = serializer ?? new LowLevelRequestResponseSerializer();
DateTimeProvider = nodePool.DateTimeProvider;
MetaHeaderProvider = productRegistration?.MetaHeaderProvider;
UrlFormatter = new UrlFormatter(this);
PipelineProvider = DefaultRequestPipelineFactory.Default;
Accept = productRegistration?.DefaultContentType;
ConnectionLimit = DefaultConnectionLimit;
DnsRefreshTimeout = DefaultDnsRefreshTimeout;
MemoryStreamFactory = DefaultMemoryStreamFactory;
SniffsOnConnectionFault = true;
SniffsOnStartup = true;
SniffInformationLifeSpan = TimeSpan.FromHours(1);
StatusCodeToResponseSuccess = ProductRegistration.HttpStatusCodeClassifier;
UserAgent = UserAgent.Create(ProductRegistration.Name, ProductRegistration.GetType());
if (nodePool is CloudNodePool cloudPool)
{
Authentication = cloudPool.AuthenticationHeader;
EnableHttpCompression = true;
}
ResponseHeadersToParse = new HeadersList(ProductRegistration.ResponseHeadersToParse);
}