Beispiel #1
0
        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());
    }