public AwesomeWebServer Configure <T>() where T : IConfigurator, new()
        {
            IConfigurator configurator = new T();
            var           builder      = new MiddlewareBuilder();

            configurator.ConfigureMiddleware(builder);
            firstMiddleware = builder.Build();
            return(this);
        }
Beispiel #2
0
        public HttpDelegate Build()
        {
            HttpDelegate first = Last;

            while (types.Count > 0)
            {
                first = (Activator.CreateInstance(types.Pop(), first) as IMiddleware).InvokeAsync;
            }
            return(first);
        }
 public HttpDelegate Build()
 {
     this.firstMiddleware = async(context, data) => {
         context.Response.Close();
         await Task.CompletedTask;
     };
     while (this.items.Count > 0)
     {
         this.firstMiddleware = (Activator.CreateInstance(this.items.Pop(), this.firstMiddleware) as IMiddleware).InvokeAsync;
     }
     return(this.firstMiddleware);
 }
Beispiel #4
0
        public HttpDelegate Build()
        {
            HttpDelegate handler = async(ctx) =>
            {
                ctx.Response.Close();
            };

            while (types.Count > 0)
            {
                handler = (Activator.CreateInstance(types.Pop(), handler) as IMiddleware).InvokeAsync;
            }

            return(handler);
        }
Beispiel #5
0
        public MyWebServer Configure <T>() where T : IConfigurator, new()
        {
            IConfigurator     configurator      = new T();
            MiddlewareBuilder middlewareBuilder = new MiddlewareBuilder();

            configurator.ConfigureMiddleware(middlewareBuilder);
            firstMiddleware = middlewareBuilder.Build();

            ContainerBuilder containerBuilder = new ContainerBuilder();

            //builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());
            configurator.ConfigureServices(containerBuilder);
            Services = containerBuilder.Build();

            return(this);
        }
Beispiel #6
0
        public void ParseHeaders(HttpDelegate in_callback)
        {
            Console.WriteLine("Parsing headers");
            // todo: if header is bigger than 1k this fails
            byte[] buffer    = new byte[1024];
            int    bytesread = netStream.stream.Read(buffer, 0, 1024);

            m_parser.Path            += new HttpDataDelegate(PathDataCallback);
            m_parser.HeadersComplete += in_callback;
            m_parser.Parse(buffer);

            if (bytesread < buffer.Length)
            {
                netStream.raiseEndEvent(new object[] {});
            }
        }
        public WebServer Configure <T>() where T : IConfigurator, new()
        {
            this.logger = Log.Logger = new LoggerConfiguration().WriteTo.Console(LogEventLevel.Information).CreateLogger();


            var configurer = new T();                // new Configurer
            var builder    = new ContainerBuilder(); // Autofac

            builder.RegisterSource(
                new AnyConcreteTypeNotAlreadyRegisteredSource());
            configurer.ConfigureServices(builder);
            Services = builder.Build(); // Container
            var middlewareBuilder = new PipelineBuilder();

            configurer.ConfigureMiddleware(middlewareBuilder);
            this.pipelineStarter = middlewareBuilder.Build();

            return(this);
        }
Beispiel #8
0
 public StaticFilesMiddleware(HttpDelegate next)
 {
     this.next = next;
 }
Beispiel #9
0
 public AuthMiddleware(HttpDelegate next)
 {
     this.next = next;
 }
Beispiel #10
0
 public AuthenticationMiddleware(HttpDelegate next)
 {
     this.next = next;
 }
Beispiel #11
0
 public Middleware1(HttpDelegate next)
 {
     this.next = next;
 }
Beispiel #12
0
		public void ParseHeaders( HttpDelegate in_callback ) {
            Console.WriteLine( "Parsing headers" );
			// todo: if header is bigger than 1k this fails
			byte[] buffer = new byte[1024];
			int bytesread = netStream.stream.Read( buffer, 0, 1024 );
			m_parser.Path += new HttpDataDelegate( PathDataCallback );
			m_parser.HeadersComplete += in_callback;
			m_parser.Parse( buffer );

            if( bytesread < buffer.Length ) {
                netStream.raiseEndEvent( new object[]{} );
            }
		}