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();
}