public static string TitleForChain(BehaviorChain chain)
        {
            if (chain.GetRoutePattern().IsNotEmpty())
            {
                return(chain.GetRoutePattern());
            }

            if (chain.GetRoutePattern() == string.Empty)
            {
                return("(home)");
            }

            if (chain.Calls.Any())
            {
                return(chain.Calls.Select(x => x.Description).Join(", "));
            }

            if (chain.HasOutput() && chain.Output.Writers.Any())
            {
                return(chain.Output.Writers.Select(x => Description.For(x).Title).Join(", "));
            }

            if (chain.InputType() != null)
            {
                return("Handler for " + chain.InputType().FullName);
            }

            return("BehaviorChain " + chain.UniqueId);
        }
        public static string TitleForChain(BehaviorChain chain)
        {
            if (chain.GetRoutePattern().IsNotEmpty())
            {
                return chain.GetRoutePattern();
            }

            if (chain.GetRoutePattern() == string.Empty)
            {
                return "(home)";
            }

            if (chain.Calls.Any())
            {
                return chain.Calls.Select(x => x.Description).Join(", ");
            }

            if (chain.HasOutput() && chain.Output.Writers.Any())
            {
                return chain.Output.Writers.Select(x => Description.For(x).Title).Join(", ");
            }

            if (chain.InputType() != null)
            {
                return "Handler for " + chain.InputType().FullName;
            }

            return "BehaviorChain " + chain.UniqueId;
        }
        public static bool ShouldApply(BehaviorChain chain)
        {
            // TODO -- Get the BehaviorChainFilter thing going again?
            if ((chain.GetRoutePattern() ?? string.Empty).Contains(DiagnosticsRegistration.DIAGNOSTICS_URL_ROOT))
            {
                return(false);
            }

            if (chain.Calls.Any(x => x.HandlerType.Assembly == DiagnosticAssembly))
            {
                return(false);
            }

            if (chain.Calls.Any(x => x.HasAttribute <NoDiagnosticsAttribute>()))
            {
                return(false);
            }

            if (chain.InputType() != null && chain.InputType().Assembly == DiagnosticAssembly)
            {
                return(false);
            }

            if (chain.ResourceType() != null && chain.ResourceType().Assembly == DiagnosticAssembly)
            {
                return(false);
            }

            return(true);
        }
        public static bool ShouldApply(BehaviorChain chain)
        {
            // TODO -- Get the BehaviorChainFilter thing going again?
            if ( (chain.GetRoutePattern() ?? string.Empty).Contains(DiagnosticUrlPolicy.DIAGNOSTICS_URL_ROOT) )
            {
                return false;
            }            

            if (chain.Calls.Any(x => x.HandlerType.Assembly == DiagnosticAssembly))
            {
                return false;
            }

            if (chain.Calls.Any(x => x.HasAttribute<NoDiagnosticsAttribute>()))
            {
                return false;
            }

            if (chain.InputType() != null && chain.InputType().Assembly == DiagnosticAssembly)
            {
                return false;
            }

            if (chain.ResourceType() != null && chain.ResourceType().Assembly == DiagnosticAssembly)
            {
                return false;
            }

            return true;
        }
예제 #5
0
        public static string GetPattern(BehaviorChain chain)
        {
            var pattern = chain.GetRoutePattern();

            return(GetPattern(pattern));
        }
        static bool routePatternStartsWith(BehaviorChain chain, string value)
        {
            var routePattern = chain.GetRoutePattern();

            return(routePattern != null && routePattern.StartsWith(value));
        }
예제 #7
0
 public EndpointToken(BehaviorChain chain)
 {
     RoutePattern = chain.GetRoutePattern();
     Actions      = chain.Calls.Select(x => new ActionToken(x)).ToArray();
 }
예제 #8
0
 static bool RoutePatternStartsWith(BehaviorChain chain, string value)
 {
     var routePattern = chain.GetRoutePattern();
     return routePattern != null && routePattern.StartsWith(value);
 }