Beispiel #1
0
 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;
 }
Beispiel #2
0
 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;
 }
Beispiel #4
0
        /// <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));
     }
 }
Beispiel #6
0
        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
            };
        }