in src/Elastic.Transport/Configuration/TransportConfigurationDescriptor.cs [113:182]
protected TransportConfigurationDescriptorBase(ITransportConfiguration config)
{
#if NET
ArgumentNullException.ThrowIfNull(config);
#else
if (config is null)
throw new ArgumentNullException(nameof(config));
#endif
// it's important url formatter is repointed to the new instance of ITransportConfiguration
_urlFormatter = new UrlFormatter(this);
_accept = config.Accept;
_allowedStatusCodes = config.AllowedStatusCodes;
_authentication = config.Authentication;
_bootstrapLock = config.BootstrapLock;
_certificateFingerprint = config.CertificateFingerprint;
_clientCertificates = config.ClientCertificates;
_connectionLimit = config.ConnectionLimit;
_contentType = config.ContentType;
_dateTimeProvider = config.DateTimeProvider;
_deadTimeout = config.DeadTimeout;
_disableAuditTrail = config.DisableAuditTrail;
_disableAutomaticProxyDetection = config.DisableAutomaticProxyDetection;
_disableDirectStreaming = config.DisableDirectStreaming;
_disableMetaHeader = config.DisableMetaHeader;
_disablePings = config.DisablePings;
_disableSniff = config.DisableSniff;
_dnsRefreshTimeout = config.DnsRefreshTimeout;
_enableHttpCompression = config.EnableHttpCompression;
_enableTcpStats = config.EnableTcpStats;
_enableThreadPoolStats = config.EnableThreadPoolStats;
_forceNode = config.ForceNode;
_headers = config.Headers;
_httpPipeliningEnabled = config.HttpPipeliningEnabled;
_keepAliveInterval = config.KeepAliveInterval;
_keepAliveTime = config.KeepAliveTime;
_maxDeadTimeout = config.MaxDeadTimeout;
_maxRetries = config.MaxRetries;
_maxRetryTimeout = config.MaxRetryTimeout;
_memoryStreamFactory = config.MemoryStreamFactory;
_nodePool = config.NodePool;
_nodePredicate = config.NodePredicate;
_onRequestCompleted = config.OnRequestCompleted;
_opaqueId = config.OpaqueId;
_parseAllHeaders = config.ParseAllHeaders;
_pingTimeout = config.PingTimeout;
_pipelineProvider = config.PipelineProvider;
_prettyJson = config.PrettyJson;
_productRegistration = config.ProductRegistration;
_proxyAddress = config.ProxyAddress;
_proxyPassword = config.ProxyPassword;
_proxyUsername = config.ProxyUsername;
_queryStringParameters = config.QueryStringParameters;
_requestInvoker = config.RequestInvoker;
_requestMetaData = config.RequestMetaData;
_requestResponseSerializer = config.RequestResponseSerializer;
_requestTimeout = config.RequestTimeout;
_responseHeadersToParse = config.ResponseHeadersToParse;
_runAs = config.RunAs;
_serverCertificateValidationCallback = config.ServerCertificateValidationCallback;
_skipDeserializationForStatusCodes = config.SkipDeserializationForStatusCodes;
_sniffInformationLifeSpan = config.SniffInformationLifeSpan;
_sniffsOnConnectionFault = config.SniffsOnConnectionFault;
_sniffsOnStartup = config.SniffsOnStartup;
_statusCodeToResponseSuccess = config.StatusCodeToResponseSuccess;
_throwExceptions = config.ThrowExceptions;
_transferEncodingChunked = config.TransferEncodingChunked;
_userAgent = config.UserAgent;
}