/// <summary> /// Pipeline for a web api request /// </summary> /// <param name="container"></param> /// <param name="pipelines"></param> /// <param name="context"></param> protected override void RequestStartup(TinyIoCContainer container, IPipelines pipelines, NancyContext context) { base.RequestStartup(container, pipelines, context); //CORS pipelines.AfterRequest.AddItemToEndOfPipeline((ctx) => { ctx.Response.WithHeader("Access-Control-Allow-Origin", "*") .WithHeader("Access-Control-Allow-Methods", "POST,GET,DELETE,PUT,OPTIONS") .WithHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type"); }); //Custom error handling pipelines.OnError.AddItemToEndOfPipeline((ctx, exc) => { return(StatusCodeHandler.GetStatusCode(ctx, exc)); }); //Authenticathion var owinEnvironment = context.GetOwinEnvironment(); var principal = owinEnvironment?["server.User"] as ClaimsPrincipal; if (principal == null) { return; } //context.CurrentUser = principal; }
private static void SetUpTrackingCodes() { // Add error codes for tracking StatusCodeHandler.AddCode(404); StatusCodeHandler.AddCode(500); }