private static bool IsTracingEnabled(IRequestHeaders headers) { if (!Tracer.Instance.Settings.IsIntegrationEnabled(SocketHandlerIntegrationId, defaultValue: false)) { return(false); } if (headers.TryGetValues(HttpHeaderNames.TracingEnabled, out var headerValues)) { if (headerValues is string[] arrayValues) { for (var i = 0; i < arrayValues.Length; i++) { if (string.Equals(arrayValues[i], "false", StringComparison.OrdinalIgnoreCase)) { return(false); } } return(true); } if (headerValues != null && headerValues.Any(s => string.Equals(s, "false", StringComparison.OrdinalIgnoreCase))) { // tracing is disabled for this request via http header return(false); } } return(true); }
private static bool IsTracingEnabled(IRequestHeaders headers, Func <bool> isTracingEnableFunc = null) { if (isTracingEnableFunc != null && !isTracingEnableFunc()) { return(false); } if (headers.TryGetValues(HttpHeaderNames.TracingEnabled, out var headerValues)) { if (headerValues is string[] arrayValues) { for (var i = 0; i < arrayValues.Length; i++) { if (string.Equals(arrayValues[i], "false", StringComparison.OrdinalIgnoreCase)) { return(false); } } return(true); } if (headerValues != null && headerValues.Any(s => string.Equals(s, "false", StringComparison.OrdinalIgnoreCase))) { // tracing is disabled for this request via http header return(false); } } return(true); }
public IEnumerable <string> GetValues(string name) { if (_headers.TryGetValues(name, out IEnumerable <string> values)) { return(values); } return(Enumerable.Empty <string>()); }