public void Process(HttpContextBase httpContext)
        {
            var requestUri = httpContext.Request.Url;
            if (requestUri == null) return;

            if (Configuration.IgnoreUrlPrefixes.Length > 0 &&
                Configuration.IgnoreUrlPrefixes.Any(
                    prefix => requestUri.PathAndQuery.StartsWith(prefix, StringComparison.InvariantCultureIgnoreCase)))
            {
                return;
            }

            var siteContext = Context.Site;
            if (siteContext == null) return;

            var db = siteContext.Database;
            if (db == null) return;

            var outboundRules = GetOutboundRules(db);
            var rewriter = new OutboundRewriter();

            // check preconditions

            var transformer = new Tranformer(httpContext, rewriter, outboundRules);
            transformer.SetupResponseFilter();
        }
Example #2
0
 public static void Transform(int[] values, Tranformer t)
 {
     for (int i = 0; i < values.Length; i++)
     {
         values[i] = t(values[i]);
     }
 }
Example #3
0
        static void Main(string[] args)
        {
            Tranformer t      = Square;
            int        result = t(3);
            //Short handed
            Tranformer t2   = new Tranformer(Square);
            int        rsl3 = t2(3);
            int        rsl4 = t.Invoke(5);

            int[] values = { 1, 2, 3 };
            Utility.Transform(values, Square);

            foreach (int i in values)
            {
                Console.Write(i + " ");
            }

            //Multi Cast Delegate Example

            ProgressReporter p = WriteProgressToConsole;

            p += WriteProgressToFile;

            Util.HardWork(p);

            X x = new X();
            ProgressReporter pi = x.InstanceProgress;

            pi(99);                            // 99
            Console.WriteLine(pi.Target == x); // True
            Console.WriteLine(pi.Method);      // Void InstanceProgress(Int32)



            //Generic Delgate Type
            int[] values2 = { 1, 2, 3 };
            Util.Transform(values2, Square); // Hook in Square
            foreach (int i in values2)
            {
                Console.Write(i + " ");
            }

            //Delegate using Interfaces
            Utiliz.TransformAll(values, new Squarer());
            foreach (int i in values)
            {
                Console.WriteLine(i);
            }


            Utiliz.TransformAll(values, new Cuber());
            foreach (int i in values)
            {
                Console.WriteLine(i);
            }
        }
Example #4
0
        public void Process(HttpContextBase httpContext)
        {
            var requestUri = httpContext.Request.Url;

            if (requestUri == null)
            {
                return;
            }

            if (Configuration.IgnoreUrlPrefixes.Length > 0 &&
                Configuration.IgnoreUrlPrefixes.Any(
                    prefix => requestUri.PathAndQuery.StartsWith(prefix, StringComparison.InvariantCultureIgnoreCase)))
            {
                return;
            }

            var siteContext = Context.Site;

            if (siteContext == null)
            {
                return;
            }

            var db = siteContext.Database;

            if (db == null)
            {
                return;
            }

            var outboundRules = GetOutboundRules(db);
            var rewriter      = new OutboundRewriter();

            // check preconditions

            var transformer = new Tranformer(httpContext, rewriter, outboundRules);

            transformer.SetupResponseFilter();
        }