PipelineMessageHeadersLogValue
class PipelineMessageHeadersLogValue : IReadOnlyList<KeyValuePair<string, string>>, IEnumerable<KeyValuePair<string, string>>, IEnumerable, IReadOnlyCollection<KeyValuePair<string, string>>
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;
}
}
}