public Map ro()
{
if (m_isReadonly) return this;
if (m_readonlyMap == null)
{
Map ro = new Map(m_type);
ro.m_map = m_map;
ro.m_isReadonly = true;
ro.m_caseInsensitive = m_caseInsensitive;
ro.m_def = m_def;
m_readonlyMap = ro;
}
return m_readonlyMap;
}
private static MimeType parse(string s) { int slash = s.IndexOf('/'); string media = s.Substring(0, slash); string sub = s.Substring(slash + 1); Map pars = emptyParams(); int semi = sub.IndexOf(';'); if (semi > 0) { pars = doParseParams(sub, semi + 1); sub = sub.Substring(0, semi).Trim(); } MimeType r = new MimeType(); r.m_str = s; r.m_mediaType = FanStr.lower(media); r.m_subType = FanStr.lower(sub); r.m_params = pars.ro(); return(r); }