This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

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

View File

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