public void matches_negative() { var list = new MimeTypeList("text/json,application/json"); list.Matches("weird").ShouldBeFalse(); list.Matches("weird", "wrong").ShouldBeFalse(); }
public void matches_positive() { var list = new MimeTypeList("text/json,application/json"); list.Matches("text/json").ShouldBeTrue(); list.Matches("application/json").ShouldBeTrue(); list.Matches("text/json", "application/json").ShouldBeTrue(); }
private OutputChoice <T> chooseOutput <T>(string accepts) { if (!_allMedia.Value.Any()) { return(null); } var mimeTypes = new MimeTypeList(accepts); foreach (var acceptType in mimeTypes) { var candidate = _allMedia.Value.FirstOrDefault(x => x.Mimetypes.Contains(acceptType)); if (candidate != null) { return(new OutputChoice <T> { MimeType = acceptType, Writer = (IMediaWriter <T>)candidate }); } } if (mimeTypes.DefaultIfEmpty("*/*").Contains("*/*")) { var media = _allMedia.Value.FirstOrDefault(); return(new OutputChoice <T>() { MimeType = media.Mimetypes.First(), Writer = (IMediaWriter <T>)media }); } return(null); }
public void build_with_complex_mimetypes() { var list = new MimeTypeList( "application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5"); list.ShouldHaveTheSameElementsAs("application/xml", "application/xhtml+xml", "text/html", "text/plain", "image/png", "*/*"); }
// If contenttype is null, use the url encoded thing public CurrentMimeType(string contentType, string acceptType) { contentType = contentType ?? MimeType.HttpFormMimetype; if (contentType.Contains(";")) { var parts = contentType.ToDelimitedArray(';'); contentType = parts.First(); if (parts.Last().Contains("charset")) { Charset = parts.Last().Split('=').Last(); } } ContentType = contentType; AcceptTypes = new MimeTypeList(acceptType); }
static void Main(string[] args) { EasyXMLSerializer.SerializeTool serTool = new SerializeTool("Default.xml"); StaticContent context = serTool.ReadXmlFile <StaticContent>(); string allString = File.ReadAllText("otherTypes.json"); MimeTypeList list = Json.Deserialize <MimeTypeList>(allString); foreach (MimeMap mimeMap in context.MimeMap) { if (!list.MimeTypes.Any(x => x.Type == mimeMap.FileExtension)) { list.MimeTypes.Add(new MimeType() { Mime = mimeMap.MimeType, Type = mimeMap.FileExtension }); } else { var item = list.MimeTypes.Find(x => x.Type == mimeMap.FileExtension); if (item.Mime != mimeMap.MimeType) { Console.WriteLine($"type:{item.Type} => source={mimeMap.MimeType} => dest={item.Mime}"); } } } MimeType[] mt = list.MimeTypes.ToArray(); var ol = mt.OrderBy(x => x.Type); var olist = ol.ToList(); list.MimeTypes = olist; string output = Json.Serialize(list); File.WriteAllText("output.json", output); Console.ReadLine(); }
public void should_ignore_empty_string() { var list = new MimeTypeList(string.Empty); list.ShouldHaveCount(0); }
static FormatResult() { MimeTypes = new MimeTypeList(); MimeTypes.InitializeDefaults(); }
public void build_with_multiple_mimetypes() { var list = new MimeTypeList("text/json,application/json"); list.ShouldHaveTheSameElementsAs("text/json", "application/json"); }
public void build_from_string() { var list = new MimeTypeList("text/json"); list.ShouldHaveTheSameElementsAs("text/json"); }
public void should_ignore_whitespace_only_string() { var list = new MimeTypeList(" "); list.Count().ShouldBe(0); }
public void should_ignore_null() { var list = new MimeTypeList((string)null); list.Count().ShouldBe(0); }
public void should_ignore_null() { var list = new MimeTypeList((string)null); list.ShouldHaveCount(0); }
static MultiMimeFormat() { _mimeTypes = new MimeTypeList(); _mimeTypes.InitializeDefaults(); }
public void should_ignore_whitespace_only_string() { var list = new MimeTypeList(" "); list.ShouldHaveCount(0); }
public void should_ignore_empty_string() { var list = new MimeTypeList(string.Empty); list.Count().ShouldBe(0); }