<PackageReference Include="System.ClientModel" Version="1.6.1" />

PipelineMessageHeadersLogValue

using System.ClientModel.Primitives; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; namespace System.ClientModel.Internal { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] internal class PipelineMessageHeadersLogValue : IReadOnlyList<KeyValuePair<string, string>>, IEnumerable<KeyValuePair<string, string>>, IEnumerable, IReadOnlyCollection<KeyValuePair<string, string>> { [System.Runtime.CompilerServices.Nullable(2)] private readonly PipelineRequestHeaders _requestHeaders; [System.Runtime.CompilerServices.Nullable(2)] private readonly PipelineResponseHeaders _responseHeaders; private readonly PipelineMessageSanitizer _sanitizer; [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 0, 1, 1 })] private List<KeyValuePair<string, string>> _values; [System.Runtime.CompilerServices.Nullable(2)] private string _formatted; [System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 1, 1 })] private List<KeyValuePair<string, string>> Values { [return: System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 1, 1 })] get { if (_values == null) { List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); if (_requestHeaders != null) { foreach (KeyValuePair<string, string> requestHeader in _requestHeaders) { list.Add(new KeyValuePair<string, string>(requestHeader.Key, _sanitizer.SanitizeHeader(requestHeader.Key, requestHeader.Value))); } } else if (_responseHeaders != null) { foreach (KeyValuePair<string, string> responseHeader in _responseHeaders) { list.Add(new KeyValuePair<string, string>(responseHeader.Key, _sanitizer.SanitizeHeader(responseHeader.Key, responseHeader.Value))); } } _values = list; } return _values; } } [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1 })] public KeyValuePair<string, string> this[int index] { [return: System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1, 1 })] get { if (index < 0 || index >= Count) throw new IndexOutOfRangeException("index"); return Values[index]; } } public int Count => Values.Count; public PipelineMessageHeadersLogValue(PipelineRequestHeaders headers, PipelineMessageSanitizer sanitizer) { _sanitizer = sanitizer; _requestHeaders = headers; } public PipelineMessageHeadersLogValue(PipelineResponseHeaders headers, PipelineMessageSanitizer sanitizer) { _sanitizer = sanitizer; _responseHeaders = headers; } [return: System.Runtime.CompilerServices.Nullable(new byte[] { 1, 0, 1, 1 })] public IEnumerator<KeyValuePair<string, string>> GetEnumerator() { return Values.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return Values.GetEnumerator(); } public override string ToString() { if (_formatted == null) { StringBuilder stringBuilder = new StringBuilder(); foreach (KeyValuePair<string, string> value in Values) { stringBuilder.Append(value.Key); stringBuilder.Append(':'); stringBuilder.Append(_sanitizer.SanitizeHeader(value.Key, value.Value)); stringBuilder.Append(Environment.NewLine); } _formatted = stringBuilder.ToString(); } return _formatted; } } }