private static void ParseAttributes <T>(MediaTypeDescriptor.Builder <T> builder, ArraySegment <string> parameters) where T : MediaTypeDescriptor { foreach (var parameter in parameters) { var parameterFieldAndValue = parameter.Split(MediaTypeDescriptor.ParameterAssignment); if (parameterFieldAndValue.Length == ParameterAndValueSize) { var attributeName = parameterFieldAndValue[ParameterFieldOffset]; var value = parameterFieldAndValue[ParameterValueOffset]; builder.WithParameter(attributeName, value); } } }
private static void ParseAttributes <T>(MediaTypeDescriptor.Builder <T> builder, ArraySegment <string> parameters) where T : MediaTypeDescriptor { foreach (var parameter in parameters) { var parameterFieldAndValue = parameter.Split(MediaTypeDescriptor.PARAMETER_ASSIGNMENT); if (parameterFieldAndValue.Length == PARAMETER_AND_VALUE_SIZE) { var attributeName = parameterFieldAndValue[PARAMETER_FIELD_OFFSET]; var value = parameterFieldAndValue[PARAMETER_VALUE_OFFSET]; builder.WithParameter(attributeName, value); } } }
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()); }
public static T ParseFrom <T>(string mediaTypeDescriptor, MediaTypeDescriptor.Builder <T> builder) where T : MediaTypeDescriptor { var descriptorParts = mediaTypeDescriptor.Split(MediaTypeDescriptor.PARAMETER_SEPARATOR); if (descriptorParts.Length > 1) { ParseAttributes(builder, new ArraySegment <string>(descriptorParts, 1, descriptorParts.Length - 1)); } var mimeParts = descriptorParts[0].Split(MediaTypeDescriptor.MIME_SUBTYPE_SEPARATOR); if (mimeParts.Length == MIME_TYPE_AND_SUBTYPE_SIZE) { builder.WithMimeType(mimeParts[0].Trim()) .WithMimeSubType(mimeParts[1].Trim()); } return(builder.Build()); }