init
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Net;
|
||||
using System.Web.Configuration;
|
||||
using System.Web.Http;
|
||||
using Microsoft.Owin;
|
||||
using Owin;
|
||||
|
||||
[assembly: OwinStartup(typeof(Kreta.Eugyintezes.WebApi.App_Start.Startup))]
|
||||
namespace Kreta.Eugyintezes.WebApi.App_Start
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
public void Configuration(IAppBuilder app)
|
||||
{
|
||||
GlobalConfiguration.Configure(WebApiConfig.Register);
|
||||
|
||||
//app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
|
||||
//{
|
||||
// Authority = ((IdpConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.IdpConfig)).TokenIssuerUrl,
|
||||
// ValidationMode = ValidationMode.Local
|
||||
//});
|
||||
|
||||
ServicePointManager.ServerCertificateValidationCallback += (requestSender, certificate, chain, sslPolicyErrors) =>
|
||||
{
|
||||
return true;
|
||||
};
|
||||
|
||||
IncludeErrorDetailPolicy errorDetailPolicy;
|
||||
|
||||
var customErrors = (CustomErrorsSection)ConfigurationManager.GetSection("system.web/customErrors");
|
||||
switch (customErrors.Mode)
|
||||
{
|
||||
case CustomErrorsMode.RemoteOnly:
|
||||
errorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
|
||||
break;
|
||||
case CustomErrorsMode.On:
|
||||
errorDetailPolicy = IncludeErrorDetailPolicy.Never;
|
||||
break;
|
||||
case CustomErrorsMode.Off:
|
||||
errorDetailPolicy = IncludeErrorDetailPolicy.Always;
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
|
||||
log4net.Config.XmlConfigurator.Configure();
|
||||
|
||||
var config = GlobalConfiguration.Configuration;
|
||||
config.IncludeErrorDetailPolicy = errorDetailPolicy;
|
||||
|
||||
app.UseWebApi(config);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,53 @@
|
||||
using System.Web.Http;
|
||||
using Kreta.Core.JsonConverter;
|
||||
using Kreta.Core.ModelBinder;
|
||||
using Kreta.Eugyintezes.WebApi.Infrastructure;
|
||||
using Kreta.Web.Logging.Interceptors;
|
||||
using Newtonsoft.Json;
|
||||
using SimpleInjector;
|
||||
using SimpleInjector.Integration.WebApi;
|
||||
using SimpleInjector.Lifestyles;
|
||||
|
||||
namespace Kreta.Eugyintezes.WebApi
|
||||
{
|
||||
public static class WebApiConfig
|
||||
{
|
||||
public static void Register(HttpConfiguration config)
|
||||
{
|
||||
// Web API configuration and services
|
||||
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
|
||||
|
||||
formatter.SerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
TypeNameHandling = TypeNameHandling.None
|
||||
};
|
||||
|
||||
formatter.SerializerSettings.Converters.Add(new StringTrimConverter());
|
||||
|
||||
// Web API routes
|
||||
config.MapHttpAttributeRoutes();
|
||||
|
||||
//config.Routes.MapHttpRoute(
|
||||
// name: "DefaultApi",
|
||||
// routeTemplate: "api/{controller}/{id}",
|
||||
// defaults: new { id = RouteParameter.Optional }
|
||||
//);
|
||||
|
||||
config.MessageHandlers.Add(new ApiLoggingHandler());
|
||||
|
||||
var container = new Container();
|
||||
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
|
||||
|
||||
DependencyInjection.RegisterTypes(container);
|
||||
|
||||
container.RegisterWebApiControllers(config);
|
||||
|
||||
container.Verify();
|
||||
|
||||
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
|
||||
|
||||
config.BindParameter(typeof(string), new StringTrimModelBinder());
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user