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

View file

@ -0,0 +1,43 @@
using System;
using System.Configuration;
using System.Web.Configuration;
using System.Web.Http;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Kreta.User.WebApi.App_Start.Startup))]
namespace Kreta.User.WebApi.App_Start
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
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,38 @@
using System.Web.Http;
using Kreta.Core.JsonConverter;
using Kreta.Core.ModelBinder;
using Kreta.Web.Logging.Interceptors;
using Newtonsoft.Json;
namespace Kreta.User.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());
config.BindParameter(typeof(string), new StringTrimModelBinder());
}
}
}