Exemplo n.º 1
0
        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));
        }