public async Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var form = await owinContext.Request.ReadFormAsync(); var requestedMetrics = new HashSet<string>(form.GetValues("metrics[]") ?? new string[0]); var page = new StubPage(); page.Assign(context); var metrics = DashboardMetrics.GetMetrics().Where(x => requestedMetrics.Contains(x.Name)); var result = new Dictionary<string, Metric>(); foreach (var metric in metrics) { var value = metric.Func(page); result.Add(metric.Name, value); } var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = new JsonConverter[]{ new StringEnumConverter { CamelCaseText = true } } }; var serialized = JsonConvert.SerializeObject(result, settings); owinContext.Response.ContentType = "application/json"; await owinContext.Response.WriteAsync(serialized); }
public override Task Invoke(IOwinContext context) { var dispatcher = _routes.FindDispatcher(context.Request.Path.Value); if (dispatcher == null) { return Next.Invoke(context); } foreach (var filter in _authorizationFilters) { if (!filter.Authorize(context.Environment)) { context.Response.StatusCode = (int) HttpStatusCode.Unauthorized; return Task.FromResult(false); } } var dispatcherContext = new RequestDispatcherContext( _appPath, _storage, context.Environment, dispatcher.Item2); return dispatcher.Item1.Dispatch(dispatcherContext); }
public override Task Invoke(IOwinContext context) { var dispatcher = _routes.FindDispatcher(context.Request.Path.Value); if (dispatcher == null) { return(Next.Invoke(context)); } foreach (var filter in _authorizationFilters) { if (!filter.Authorize(context.Environment)) { context.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return(Task.FromResult(false)); } } var dispatcherContext = new RequestDispatcherContext( _storage, context.Environment, dispatcher.Item2); return(dispatcher.Item1.Dispatch(dispatcherContext)); }
public async Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var form = await owinContext.ReadFormSafeAsync(); var requestedMetrics = new HashSet <string>(form.GetValues("metrics[]") ?? new string[0]); var page = new StubPage(); page.Assign(context); var metrics = DashboardMetrics.GetMetrics().Where(x => requestedMetrics.Contains(x.Name)); var result = new Dictionary <string, Metric>(); foreach (var metric in metrics) { var value = metric.Func(page); result.Add(metric.Name, value); } var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = new JsonConverter[] { new StringEnumConverter { CamelCaseText = true } } }; var serialized = JsonConvert.SerializeObject(result, settings); owinContext.Response.ContentType = "application/json"; await owinContext.Response.WriteAsync(serialized); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = "text/html"; var page = _pageFunc(context.UriMatch); page.Assign(context); return owinContext.Response.WriteAsync(page.ToString()); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = _contentType; owinContext.Response.Expires = DateTime.Now.AddYears(1); WriteResponse(owinContext.Response); return(Task.FromResult(true)); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = _contentType; owinContext.Response.Expires = DateTime.Now.AddYears(1); WriteResponse(owinContext.Response); return Task.FromResult(true); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = "text/html"; var page = _pageFunc(context.UriMatch); page.Assign(context); return(owinContext.Response.WriteAsync(page.ToString())); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = "text/html"; var page = _pageFunc(context.UriMatch); page.Request = owinContext.Request; page.Response = owinContext.Response; page.Storage = context.JobStorage; return owinContext.Response.WriteAsync(page.TransformText()); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); owinContext.Response.ContentType = "text/html"; var page = _pageFunc(context.UriMatch); page.Request = owinContext.Request; page.Response = owinContext.Response; page.Storage = context.JobStorage; return(owinContext.Response.WriteAsync(page.TransformText())); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var monitoring = context.JobStorage.GetMonitoringApi(); var response = monitoring.GetStatistics(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var serialized = JsonConvert.SerializeObject(response, settings); owinContext.Response.ContentType = "application/json"; return(owinContext.Response.WriteAsync(serialized)); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var monitoring = context.JobStorage.GetMonitoringApi(); var response = monitoring.GetStatistics(); var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var serialized = JsonConvert.SerializeObject(response, settings); owinContext.Response.ContentType = "application/json"; return owinContext.Response.WriteAsync(serialized); }
internal void Assign(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); Request = owinContext.Request; Response = owinContext.Response; Storage = context.JobStorage; AppPath = context.AppPath; Url = new UrlHelper(context.OwinEnvironment); _statisticsLazy = new Lazy <StatisticsDto>(() => { var monitoring = Storage.GetMonitoringApi(); return(monitoring.GetStatistics()); }); }
public static MidFunc UseHangfireDashboard( [NotNull] DashboardOptions options, [NotNull] JobStorage storage, [NotNull] RouteCollection routes) { if (options == null) { throw new ArgumentNullException("options"); } if (storage == null) { throw new ArgumentNullException("storage"); } if (routes == null) { throw new ArgumentNullException("routes"); } return (next => env => { var context = new OwinContext(env); var dispatcher = routes.FindDispatcher(context.Request.Path.Value); if (dispatcher == null) { return next(env); } if (options.AuthorizationFilters.Any(filter => !filter.Authorize(context.Environment))) { context.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return Task.FromResult(false); } var dispatcherContext = new RequestDispatcherContext( options.AppPath, storage, context.Environment, dispatcher.Item2); return dispatcher.Item1.Dispatch(dispatcherContext); }); }
public async Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var form = await owinContext.ReadFormSafeAsync(); var jobIds = form.GetValues("jobs[]"); if (jobIds == null) { owinContext.Response.StatusCode = 422; return; } foreach (var jobId in jobIds) { _command(context, jobId); } owinContext.Response.StatusCode = (int)HttpStatusCode.NoContent; }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); if (owinContext.Request.Method != WebRequestMethods.Http.Post) { owinContext.Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed; return Task.FromResult(false); } if (_command(context)) { owinContext.Response.StatusCode = (int)HttpStatusCode.NoContent; } else { owinContext.Response.StatusCode = 422; } return Task.FromResult(true); }
public Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); if (owinContext.Request.Method != WebRequestMethods.Http.Post) { owinContext.Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed; return(Task.FromResult(false)); } if (_command(context)) { owinContext.Response.StatusCode = (int)HttpStatusCode.NoContent; } else { owinContext.Response.StatusCode = 422; } return(Task.FromResult(true)); }
public async Task Dispatch(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); var form = await owinContext.Request.ReadFormAsync(); var jobIds = form.GetValues("jobs[]"); if (jobIds == null) { owinContext.Response.StatusCode = 422; return; } foreach (var jobId in jobIds) { _command(context, jobId); } owinContext.Response.StatusCode = (int)HttpStatusCode.NoContent; }
public static MidFunc UseHangfireDashboard( [NotNull] DashboardOptions options, [NotNull] JobStorage storage, [NotNull] RouteCollection routes) { if (options == null) throw new ArgumentNullException("options"); if (storage == null) throw new ArgumentNullException("storage"); if (routes == null) throw new ArgumentNullException("routes"); return next => env => { var context = new OwinContext(env); var dispatcher = routes.FindDispatcher(context.Request.Path.Value); if (dispatcher == null) { return next(env); } if (options.AuthorizationFilters.Any(filter => !filter.Authorize(context.Environment))) { context.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return Task.FromResult(false); } var dispatcherContext = new RequestDispatcherContext( options.AppPath, storage, context.Environment, dispatcher.Item2); return dispatcher.Item1.Dispatch(dispatcherContext); }; }
public CommandDispatcher(Func <RequestDispatcherContext, bool> command) { _command = context => command(RequestDispatcherContext.FromDashboardContext(context)); }
internal void Assign(RequestDispatcherContext context) { var owinContext = new OwinContext(context.OwinEnvironment); Request = owinContext.Request; Response = owinContext.Response; Storage = context.JobStorage; AppPath = context.AppPath; Url = new UrlHelper(context.OwinEnvironment); _statisticsLazy = new Lazy<StatisticsDto>(() => { var monitoring = Storage.GetMonitoringApi(); return monitoring.GetStatistics(); }); }
public BatchCommandDispatcher(Action <RequestDispatcherContext, string> command) { _command = (context, jobId) => command(RequestDispatcherContext.FromDashboardContext(context), jobId); }
public Task Dispatch(DashboardContext context) { return(_dispatcher.Dispatch(RequestDispatcherContext.FromDashboardContext(context))); }