init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,54 @@
|
|||
using System.Web.Http;
|
||||
using Kreta.Core.JsonConverter;
|
||||
using Kreta.Core.ModelBinder;
|
||||
using Kreta.Naplo.Configuration;
|
||||
using Kreta.Naplo.WebApi.FilterAttributes;
|
||||
using Kreta.Web.Logging.Interceptors;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace Kreta.Naplo.WebApi
|
||||
{
|
||||
/// <summary>
|
||||
/// Web Api configuration class
|
||||
/// </summary>
|
||||
public static class WebApiConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Web Api configuration entry
|
||||
/// </summary>
|
||||
/// <param name="config">HttpConfiguration for configuring web Api</param>
|
||||
public static void Register(HttpConfiguration config)
|
||||
{
|
||||
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
|
||||
|
||||
formatter.SerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
TypeNameHandling = TypeNameHandling.None
|
||||
};
|
||||
|
||||
formatter.SerializerSettings.Converters.Add(new StringTrimConverter());
|
||||
formatter.SerializerSettings.Converters.Add(new StringEnumConverter());
|
||||
|
||||
config.Filters.Add(new DefaultExceptionFilterAttribute());
|
||||
config.Filters.Add(new ApiKeyAuthorizationAttribute());
|
||||
config.Filters.Add(new IdpAuthorizeAttribute());
|
||||
|
||||
config.MapHttpAttributeRoutes();
|
||||
|
||||
config.MessageHandlers.Add(new ApiLoggingHandler());
|
||||
|
||||
var corsConfiguration = CorsConfiguration.Instance;
|
||||
if (corsConfiguration.IsEnabled)
|
||||
{
|
||||
var cors = new WildcardOriginCorsPolicy(corsConfiguration.Urls, corsConfiguration.Headers, corsConfiguration.Methods)
|
||||
{ SupportsCredentials = corsConfiguration.SupportsCredentials };
|
||||
|
||||
config.EnableCors(cors);
|
||||
}
|
||||
|
||||
config.BindParameter(typeof(string), new StringTrimModelBinder());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue