Пример #1
0
        public static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
            LogManager.Assign(new SimpleLogManager <ConsoleLogger>());

            /*
             * var cb = new ContainerBuilder();
             * cb.RegisterType<HttpParser>().AsImplementedInterfaces().SingleInstance();
             * cb.RegisterType<ResponseEncoder>().AsSelf().SingleInstance();
             * cb.RegisterType<HeaderDecoder>().AsSelf().SingleInstance();
             * cb.RegisterType<MessageHandler>().AsSelf().SingleInstance();
             * cb.RegisterType<FileHandler>().AsSelf().SingleInstance();
             * var serviceLocator = new AutofacServiceLocator(cb.Build());
             */

            var authService = new DummyAuthenticatorService();
            var authHandler = new AuthenticationHandler(new DigestAuthenticator(new SingleRealmRepository("*****@*****.**"), authService), authService);

            var factory = new DelegatePipelineFactory();

            factory.AddDownstreamHandler(authHandler);
            factory.AddDownstreamHandler(() => new ResponseEncoder());

            factory.AddUpstreamHandler(() => new HeaderDecoder(new HttpParser()));
            factory.AddUpstreamHandler(new HttpErrorHandler(new SimpleErrorFormatter()));
            factory.AddUpstreamHandler(authHandler);
            factory.AddUpstreamHandler(() => new BodyDecoder(new CompositeBodyDecoder(), 65535, 6000000));
            //factory.AddUpstreamHandler(() => new FileHandler());
            factory.AddUpstreamHandler(() => new MessageHandler());
            //factory.AddUpstreamHandler(new PipelineFailureHandler());

            HttpListener listener = new HttpListener(factory);

            listener.Start(new IPEndPoint(IPAddress.Any, 8080));

            Console.ReadLine();
        }
Пример #2
0
        public static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
            LogManager.Assign(new SimpleLogManager<ConsoleLogger>());
            /*
            var cb = new ContainerBuilder();
            cb.RegisterType<HttpParser>().AsImplementedInterfaces().SingleInstance();
            cb.RegisterType<ResponseEncoder>().AsSelf().SingleInstance();
            cb.RegisterType<HeaderDecoder>().AsSelf().SingleInstance();
            cb.RegisterType<MessageHandler>().AsSelf().SingleInstance();
            cb.RegisterType<FileHandler>().AsSelf().SingleInstance();
            var serviceLocator = new AutofacServiceLocator(cb.Build());
            */

            var authService = new DummyAuthenticatorService();
            var authHandler = new AuthenticationHandler(new DigestAuthenticator(new SingleRealmRepository("*****@*****.**"), authService), authService);

            var factory = new DelegatePipelineFactory();
            factory.AddDownstreamHandler(authHandler);
            factory.AddDownstreamHandler(() => new ResponseEncoder());

            factory.AddUpstreamHandler(() => new HeaderDecoder(new HttpParser()));
            factory.AddUpstreamHandler(new HttpErrorHandler(new SimpleErrorFormatter()));
            factory.AddUpstreamHandler(authHandler);
            factory.AddUpstreamHandler(() => new BodyDecoder(new CompositeBodyDecoder(), 65535, 6000000));
            //factory.AddUpstreamHandler(() => new FileHandler());
            factory.AddUpstreamHandler(() => new MessageHandler());
            //factory.AddUpstreamHandler(new PipelineFailureHandler());

            HttpListener listener = new HttpListener(factory);
            listener.Start(new IPEndPoint(IPAddress.Any, 8080));

            Console.ReadLine();
        }