Пример #1
0
        public bool MatchUrl(IRouteParameterMatchContext context)
        {
            if (IsRequired && String.IsNullOrEmpty(context.OriginalUrl))
            {
                return(false);
            }

            return(MatchRequiredUrl(context));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 public abstract bool MatchRequiredUrl(IRouteParameterMatchContext context);