示例#1
0
 /// <summary>
 /// Creates a Content Type Field according to the given media type, media subtype and parameters.
 /// </summary>
 /// <param name="mediaType">The main type of the content of this HTTP message.</param>
 /// <param name="mediaSubtype">The subtype of the content of this HTTP message.</param>
 /// <param name="parameters">Parameters on the specific type.</param>
 public HttpContentTypeField(string mediaType, string mediaSubtype, HttpFieldParameters parameters)
     : base(FieldName, string.Format(CultureInfo.InvariantCulture, "{0}/{1}{2}", mediaType, mediaSubtype, parameters))
 {
     MediaType = mediaType;
     MediaSubtype = mediaSubtype;
     Parameters = parameters;
 }
示例#2
0
        internal HttpContentTypeField(byte[] fieldValue)
            : base(FieldName, fieldValue)
        {
            string fieldValueString = HttpRegex.GetString(fieldValue);
            Match match = _regex.Match(fieldValueString);
            if (!match.Success)
                return;

            MediaType = match.Groups[MediaTypeGroupName].Captures.Cast<Capture>().First().Value;
            MediaSubtype = match.Groups[MediaSubTypeGroupName].Captures.Cast<Capture>().First().Value;
            Parameters = new HttpFieldParameters(match.GroupCapturesValues(HttpRegex.ParameterNameGroupName),
                                                 match.GroupCapturesValues(HttpRegex.ParameterValueGroupName));
        }
示例#3
0
 /// <summary>
 /// Two HTTP field parameters are equal if all of their parameters are equal.
 /// </summary>
 public bool Equals(HttpFieldParameters other)
 {
     return(other != null && _parameters.DictionaryEquals(other._parameters));
 }