public bool MatchUrl(IRouteParameterMatchContext context) { if (IsRequired && String.IsNullOrEmpty(context.OriginalUrl)) { return(false); } return(MatchRequiredUrl(context)); }
public bool MatchUrl(IRouteParameterMatchContext context) { foreach (char separator in Separators) { int index = context.OriginalUrl.IndexOf(separator); if (index > 0) { context.Values[Name] = context.OriginalUrl.Substring(0, index); context.RemainingUrl = context.OriginalUrl.Substring(index); return(true); } } context.Values[Name] = context.OriginalUrl; context.RemainingUrl = null; return(true); }
public bool MatchUrl(IRouteParameterMatchContext context) { if (String.IsNullOrEmpty(context.OriginalUrl)) { if (!String.IsNullOrEmpty(defaultLocale)) { context.Values["locale"] = CultureInfo.GetCultureInfo(defaultLocale); return(true); } return(false); } int length = 5; CultureInfo culfureInfo = null; if (context.OriginalUrl.Length >= 5) { if (!CultureInfoParser.TryParse(context.OriginalUrl.Substring(0, 5), out culfureInfo)) { CultureInfoParser.TryParse(context.OriginalUrl.Substring(0, 2), out culfureInfo); length = 2; } } else if (context.OriginalUrl.Length >= 2) { CultureInfoParser.TryParse(context.OriginalUrl.Substring(0, 2), out culfureInfo); length = 2; } if (culfureInfo != null) { context.Values["locale"] = culfureInfo; context.RemainingUrl = context.OriginalUrl.Substring(length); return(true); } if (!String.IsNullOrEmpty(defaultLocale)) { context.Values["locale"] = CultureInfo.GetCultureInfo(defaultLocale); return(true); } return(false); }
public abstract bool MatchRequiredUrl(IRouteParameterMatchContext context);