private async Task <Tuple <ViewOptions, bool> > ParseParams(HttpContext context) { var options = new ViewOptions() { MinLevel = LogLevel.Verbose, NamePrefix = string.Empty }; var isRedirect = false; var form = await context.Request.GetFormAsync(); if (form.ContainsKey("clear")) { _store.Clear(); context.Response.Redirect(context.Request.PathBase.Add(_options.Path).ToString()); isRedirect = true; } else { if (context.Request.Query.ContainsKey("level")) { var minLevel = options.MinLevel; if (Enum.TryParse <LogLevel>(context.Request.Query["level"], out minLevel)) { options.MinLevel = minLevel; } } if (context.Request.Query.ContainsKey("name")) { var namePrefix = context.Request.Query.GetValues("name")[0]; options.NamePrefix = namePrefix; } } return(Tuple.Create(options, isRedirect)); }