AzureFunctions.Global.RegisterTypes C# (CSharp) Method

RegisterTypes() private method

private RegisterTypes ( ContainerBuilder builder ) : void
builder Autofac.ContainerBuilder
return void
        private void RegisterTypes(ContainerBuilder builder)
        {
            builder.Register(c => new HttpContextWrapper(HttpContext.Current))
                .As<HttpContextBase>()
                .InstancePerRequest();

            builder.Register(c => c.Resolve<HttpContextBase>().Request)
                .As<HttpRequestBase>()
                .InstancePerRequest();

            builder.RegisterType<UserSettings>()
                .As<IUserSettings>()
                .InstancePerRequest();

            builder.RegisterType<Settings>()
                .As<ISettings>()
                .SingleInstance();

            builder.Register(c =>
            {
                var userSettings = c.Resolve<IUserSettings>();
                var client = new HttpClient();

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userSettings.BearerToken);
                client.DefaultRequestHeaders.Add("User-Agent", Constants.UserAgent);
                client.DefaultRequestHeaders.Add("Accept", Constants.ApplicationJson);
                return client;
            })
            .As<HttpClient>()
            .InstancePerRequest();

            builder.RegisterType<TemplatesManager>()
                .As<ITemplatesManager>()
                .SingleInstance();
        }