Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryParseAndAddRawHeaderValue()

static bool System.Net.Http.Headers.HttpHeaders.TryParseAndAddRawHeaderValue ( HeaderDescriptor descriptor,
HeaderStoreItemInfo info,
string value,
bool addWhenInvalid )
inlinestaticprivateinherited

Definition at line 692 of file HttpHeaders.cs.

693 {
694 if (!info.CanAddParsedValue(descriptor.Parser))
695 {
696 if (addWhenInvalid)
697 {
698 AddInvalidValue(info, value ?? string.Empty);
699 }
700 return false;
701 }
702 int index = 0;
703 if (descriptor.Parser.TryParseValue(value, info.ParsedValue, ref index, out var parsedValue))
704 {
705 if (value == null || index == value.Length)
706 {
707 if (parsedValue != null)
708 {
710 }
711 return true;
712 }
714 if (parsedValue != null)
715 {
716 list.Add(parsedValue);
717 }
718 while (index < value.Length)
719 {
720 if (descriptor.Parser.TryParseValue(value, info.ParsedValue, ref index, out parsedValue))
721 {
722 if (parsedValue != null)
723 {
724 list.Add(parsedValue);
725 }
726 continue;
727 }
728 if (!ContainsNewLine(value, descriptor.Name) && addWhenInvalid)
729 {
731 }
732 return false;
733 }
734 foreach (object item in list)
735 {
737 }
738 return true;
739 }
740 if (!ContainsNewLine(value, descriptor.Name) && addWhenInvalid)
741 {
742 AddInvalidValue(info, value ?? string.Empty);
743 }
744 return false;
745 }
static bool ContainsNewLine(string value, string name)
static void AddInvalidValue(HeaderStoreItemInfo info, string value)
void AddParsedValue(HeaderDescriptor descriptor, object value)

References System.Net.Http.Headers.HttpHeaders.AddInvalidValue(), System.Net.Http.Headers.HttpHeaders.AddParsedValue(), System.Net.Http.Headers.HttpHeaders.ContainsNewLine(), System.index, System.info, System.item, System.list, System.Net.Http.Headers.HeaderDescriptor.Name, System.Net.Http.Headers.HeaderDescriptor.Parser, System.Net.Http.Headers.HttpHeaderParser.TryParseValue(), and System.value.

Referenced by System.Net.Http.Headers.HttpHeaders.ParseMultipleRawHeaderValues(), System.Net.Http.Headers.HttpHeaders.ParseSingleRawHeaderValue(), and System.Net.Http.Headers.HttpHeaders.TryParseAndAddValue().