public Options(TimeSpan timelineSpan, IDictionary <int, Func <ISchedulerEngine> > schedulerEngineResolvers, bool lazyInit, string customCssUrl, string frameworkVersion, TraversingOptions jobDataMapTraversingOptions, bool extractErrorsFromUnhandledExceptions, bool extractErrorsFromJobResults, IExceptionTransformer exceptionTransformer, IJobResultAnalyser jobResultAnalyser, RegisteredInputType[] jobDataMapInputTypes, Type[] allowedJobTypes) { TimelineSpan = timelineSpan; SchedulerEngineResolvers = schedulerEngineResolvers; LazyInit = lazyInit; CustomCssUrl = customCssUrl; FrameworkVersion = frameworkVersion; JobDataMapTraversingOptions = jobDataMapTraversingOptions; ExtractErrorsFromUnhandledExceptions = extractErrorsFromUnhandledExceptions; ExtractErrorsFromJobResults = extractErrorsFromJobResults; ExceptionTransformer = exceptionTransformer; JobResultAnalyser = jobResultAnalyser; JobDataMapInputTypes = jobDataMapInputTypes; AllowedJobTypes = allowedJobTypes; }
public void AddTransformer(IExceptionTransformer transformer) { foreach (Type type in transformer.ExceptionTypes) { Transformers.Add(type, transformer); } }
public EventsTransformer( IExceptionTransformer exceptionTransformer, IJobResultAnalyser jobResultAnalyser) { _exceptionTransformer = exceptionTransformer; _jobResultAnalyser = jobResultAnalyser; }
/// <summary> /// Initializes a new instance of the <see cref="RouterMiddleware"/> class. /// </summary> /// <param name="next">The next<see cref="RequestDelegate"/></param> /// <param name="routeHelper">The routeHelper<see cref="IRouteHelper"/></param> /// <param name="authenticator">The authenticator<see cref="IAuthenticator"/></param> /// <param name="exceptionTransformer">The exceptionTransformer<see cref="IExceptionTransformer"/></param> /// <param name="path">The path<see cref="string"/></param> public RouterMiddleware( RequestDelegate next, IRouteHelper routeHelper, IAuthenticator authenticator, IExceptionTransformer exceptionTransformer, string path = "routes.json") { this.next = next; this.routeHelper = routeHelper; this.authenticator = authenticator; this.exceptionTransformer = exceptionTransformer; this.routeHelper.LoadRoutes(path); }
public async Task Invoke(HttpContext context) { try { await nextDelegate.Invoke(context); } catch (Exception e) { Console.WriteLine(e); IExceptionTransformer transformer = factory.GetExceptionTransformer(e.GetType()); ErrorResponseModel response = transformer.BuildErrorModel(e); transformer.EditContext(context, e); context.Response.StatusCode = response.StatusCode; context.Response.ContentType = "application/json"; await context.Response.WriteAsync(JsonConvert.SerializeObject(response)); } }
public override void OnException(ExceptionContext context) { ExceptionTransformerFactory factory = context.HttpContext.RequestServices. GetService(typeof(ExceptionTransformerFactory)) as ExceptionTransformerFactory; Exception ex = context.Exception; Console.Error.WriteLine(ex); IExceptionTransformer transformer = factory.GetExceptionTransformer(ex.GetType()); transformer.EditContext(context.HttpContext, ex); ErrorResponseModel error = transformer.BuildErrorModel(ex); context.Result = new ObjectResult(error) { StatusCode = error.StatusCode }; }