public async Task Dispatch(RequestDispatchContext requestDispatchContext) { var req = requestDispatchContext.HttpContext.Request; var res = requestDispatchContext.HttpContext.Response; if (req.Method != "GET") { res.StatusCode = 405; return; } var indexPage = Path.Combine(_appEnvironment.ApplicationBasePath, "Views", "ISwitch", "Index.cshtml"); using (var reader = new StreamReader(indexPage)) { var output = await reader.ReadToEndAsync(); await res.WriteAsync(output); } }
public async Task Dispatch(RequestDispatchContext requestDispatchContext) { var req = requestDispatchContext.HttpContext.Request; var res = requestDispatchContext.HttpContext.Response; if (req.Method != "POST") { res.StatusCode = 405; return; } var featuresToEnable = req.Form["enableFeatures"] as IEnumerable <string>; var featuresToDisable = req.Form["disableFeatures"] as IEnumerable <string>; featuresToEnable.ToList().ForEach( async x => await _featureService.EnableFeature(x).ConfigureAwait(false)); featuresToDisable.ToList().ForEach( async x => await _featureService.DisableFeature(x).ConfigureAwait(false)); res.StatusCode = (int)HttpStatusCode.NoContent; }
public async Task Invoke(HttpContext context) { var requestDispatchContext = new RequestDispatchContext { HttpContext = context }; var key = requestDispatchContext.HttpContext.Request.Path.Value ?? ""; if (key == "") { key = "/"; } var dispatcher = _requestDispatchIndex[key]; if (dispatcher == null) { return; } await dispatcher.Dispatch(requestDispatchContext); }
public async Task Dispatch(RequestDispatchContext requestDispatchContext) { var req = requestDispatchContext.HttpContext.Request; var res = requestDispatchContext.HttpContext.Response; if (req.Method != "GET") { res.StatusCode = 405; return; } var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = new JsonConverter[] { new StringEnumConverter { CamelCaseText = true } } }; var serialized = JsonConvert.SerializeObject(_featureInfoService.GetFeaturesItems(), settings); res.ContentType = "application/json"; await res.WriteAsync(serialized); }