private AuthenticationHeaderValue(AuthenticationHeaderValue source) { this.scheme = source.scheme; this.parameter = source.parameter; }
/// <summary>Determines whether a string is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.AuthenticationHeaderValue" /> information.</summary> /// <returns>Returns <see cref="T:System.Boolean" />.true if <paramref name="input" /> is valid <see cref="T:NMasters.Silverlight.Net.Http.Headers.AuthenticationHeaderValue" /> information; otherwise, false.</returns> /// <param name="input">The string to validate.</param> /// <param name="parsedValue">The <see cref="T:NMasters.Silverlight.Net.Http.Headers.AuthenticationHeaderValue" /> version of the string.</param> public static bool TryParse(string input, out AuthenticationHeaderValue parsedValue) { object obj2; int index = 0; parsedValue = null; if (GenericHeaderParser.SingleValueAuthenticationParser.TryParseValue(input, null, ref index, out obj2)) { parsedValue = (AuthenticationHeaderValue) obj2; return true; } return false; }
internal static int GetAuthenticationLength(string input, int startIndex, out object parsedValue) { parsedValue = null; if (string.IsNullOrEmpty(input) || (startIndex >= input.Length)) { return 0; } int tokenLength = HttpRuleParser.GetTokenLength(input, startIndex); if (tokenLength == 0) { return 0; } AuthenticationHeaderValue value2 = new AuthenticationHeaderValue { scheme = input.Substring(startIndex, tokenLength) }; int num2 = startIndex + tokenLength; int whitespaceLength = HttpRuleParser.GetWhitespaceLength(input, num2); num2 += whitespaceLength; if ((num2 == input.Length) || (input[num2] == ',')) { parsedValue = value2; return (num2 - startIndex); } if (whitespaceLength == 0) { return 0; } int num4 = num2; int parameterEndIndex = num2; if (!TrySkipFirstBlob(input, ref num2, ref parameterEndIndex)) { return 0; } if ((num2 < input.Length) && !TryGetParametersEndIndex(input, ref num2, ref parameterEndIndex)) { return 0; } value2.parameter = input.Substring(num4, (parameterEndIndex - num4) + 1); parsedValue = value2; return (num2 - startIndex); }