private static List <HttpMiddleware> GetMiddlewares(
            HttpMiddleware functionMiddleware,
            IServerlessLogger serverlessLogger,
            IHttpContextAccessor acessor,
            bool allowAnonymous)
        {
            var exceptionMiddleware = new ExceptionMiddleware(serverlessLogger);
            var loggerMiddleware    = new LoggerMiddleware(serverlessLogger);
            var headerMiddleware    = new HeaderMiddleware();

            List <HttpMiddleware> middlewares = null;

            if (allowAnonymous)
            {
                middlewares = MiddlewaresWithoutAuth(
                    functionMiddleware,
                    exceptionMiddleware,
                    loggerMiddleware,
                    headerMiddleware);
            }
            else
            {
                middlewares = MiddlewaresWithAuth(
                    functionMiddleware,
                    serverlessLogger,
                    acessor,
                    exceptionMiddleware,
                    loggerMiddleware,
                    headerMiddleware);
            }

            return(middlewares);
        }
Ejemplo n.º 2
0
 public static void Main(string[] args)
 {
     try
     {
         LoggerMiddleware.Setup();
         Log.Information("Starting up");
         CreateHostBuilder(args).Build().Run();
     }
     catch (Exception ex)
     {
         Log.Fatal(ex, "Application crash");
     }
     finally
     {
         Log.CloseAndFlush();
     }
 }
        private static List <HttpMiddleware> MiddlewaresWithAuth(HttpMiddleware functionMiddleware, IServerlessLogger serverlessLogger, IHttpContextAccessor acessor, ExceptionMiddleware exceptionMiddleware, LoggerMiddleware loggerMiddleware, HeaderMiddleware headerMiddleware)
        {
            var authenticationMiddleware = new AuthenticationMiddleware(
                serverlessLogger,
                Environment.GetEnvironmentVariable("AUTH.ISSUER"),
                Environment.GetEnvironmentVariable("AUTH.AUDIENCE"),
                Environment.GetEnvironmentVariable("AUTH.METADATAADDRESS"),
                acessor);

            return(new List <HttpMiddleware>()
            {
                loggerMiddleware,
                headerMiddleware,
                exceptionMiddleware,
                authenticationMiddleware,
                functionMiddleware
            });
        }
 private static List <HttpMiddleware> MiddlewaresWithoutAuth(HttpMiddleware functionMiddleware, ExceptionMiddleware exceptionMiddleware, LoggerMiddleware loggerMiddleware, HeaderMiddleware headerMiddleware)
 {
     return(new List <HttpMiddleware>()
     {
         loggerMiddleware,
         headerMiddleware,
         exceptionMiddleware,
         functionMiddleware
     });
 }