public void BuilderCreates() { var builder = new MediaTypeDescriptor.Builder <ContentMediaType>((a, b, c) => new ContentMediaType(a, b, c)); var contentMediaType = builder .WithMimeType(ContentMediaType.MimeTypes.Application.ToString().ToLower()) .WithMimeSubType("json") .Build(); Assert.Equal(ContentMediaType.Json, contentMediaType); }
public static T ParseFrom <T>(string mediaTypeDescriptor, MediaTypeDescriptor.Builder <T> builder) where T : MediaTypeDescriptor { var descriptorParts = mediaTypeDescriptor.Split(MediaTypeDescriptor.ParameterSeparator); if (descriptorParts.Length > 1) { ParseAttributes(builder, new ArraySegment <string>(descriptorParts, 1, descriptorParts.Length - 1)); } var mimeParts = descriptorParts[0].Split(MediaTypeDescriptor.MimeSubtypeSeparator); if (mimeParts.Length == MimeTypeAndSubtypeSize) { builder.WithMimeType(mimeParts[0].Trim()) .WithMimeSubType(mimeParts[1].Trim()); } return(builder.Build()); }