internal static string NormalizeString(byte[] value, int offset, int length, bool allowUTF8) { if (length >= 2 && length <= 32) { int num = MimeData.HashValue(value, offset, length); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (ByteString.EqualsI(value2, value, offset, length, allowUTF8)) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_54; } } return(value2); } } IL_54: return(ByteString.BytesToString(value, offset, length, allowUTF8).ToLowerInvariant()); }
internal static string NormalizeString(string value, int offset, int length) { if (length >= 2 && length <= 32) { int num = MimeData.HashValue(value, offset, length); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (length == value2.Length && string.Compare(value2, 0, value, offset, length, StringComparison.OrdinalIgnoreCase) == 0) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_5E; } } return(value2); } } IL_5E: return(value.Substring(offset, length).ToLowerInvariant()); }
internal static string NormalizeString(string value) { if (value.Length >= 2 && value.Length <= 32) { int num = MimeData.HashValue(value); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (value.Length == value2.Length && value.Equals(value2, StringComparison.OrdinalIgnoreCase)) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_68; } } return(value2); } } IL_68: return(value.ToLowerInvariant()); }
internal static HeaderNameIndex LookupName(byte[] nameBuffer, int offset, int length) { if (length >= 2 && length <= 31) { int num = MimeData.HashName(nameBuffer, offset, length); int num2 = (int)MimeData.nameHashTable[num]; if (num2 > 0) { for (;;) { string str = MimeData.headerNames[num2].name; if (ByteString.EqualsI(str, nameBuffer, offset, length, false)) { break; } num2++; if ((int)MimeData.headerNames[num2].hash != num) { return(HeaderNameIndex.Unknown); } } return((HeaderNameIndex)num2); } } return(HeaderNameIndex.Unknown); }
internal static HeaderNameIndex LookupName(string name) { if (name.Length >= 2 && name.Length <= 31) { int num = MimeData.HashName(name); int num2 = (int)MimeData.nameHashTable[num]; if (num2 > 0) { for (;;) { string text = MimeData.headerNames[num2].name; if (name.Length == text.Length && name.Equals(text, StringComparison.OrdinalIgnoreCase)) { break; } num2++; if ((int)MimeData.headerNames[num2].hash != num) { return(HeaderNameIndex.Unknown); } } return((HeaderNameIndex)num2); } } return(HeaderNameIndex.Unknown); }
// Token: 0x060001DF RID: 479 RVA: 0x00008718 File Offset: 0x00006918 private static string ComposeContentTypeValue(string type, string subType) { int num = type.Length + 1 + subType.Length; if (num >= 2 && num <= 32) { int num2 = 0; num2 = MimeData.HashValueAdd(num2, type); num2 = MimeData.HashValueAdd(num2, "/"); num2 = MimeData.HashValueAdd(num2, subType); num2 = MimeData.HashValueFinish(num2); int num3 = MimeData.valueHashTable[num2]; if (num3 > 0) { string text; for (;;) { text = MimeData.values[num3].value; if (text.Length == num && text.StartsWith(type, StringComparison.OrdinalIgnoreCase) && text[type.Length] == '/' && text.EndsWith(subType, StringComparison.OrdinalIgnoreCase)) { break; } num3++; if ((int)MimeData.values[num3].hash != num2) { goto IL_A7; } } return(text); } } IL_A7: return(type + "/" + subType); }