protected virtual HttpDataSource NoEndpoint(WebProgressTask task, RestQueryArgs args)
 {
     _ = task ?? throw new ArgumentNullException(nameof(task));
     _ = args ?? throw new ArgumentNullException(nameof(args));
     task.Response.StatusCode = HttpStateCode.NotFound;
     return(new HttpStringDataSource("no endpoint"));
 }
            public override bool Check(RestQueryArgs args)
            {
                _ = args ?? throw new ArgumentNullException(nameof(args));
                if (args.Location.Length <= Index || Constant is null)
                {
                    return(false);
                }
                var comparison = IgnoreCase ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture;

                return(string.Equals(Constant, args.Location[Index], comparison));
            }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     if (Condition?.Check(args) ?? false)
     {
         return(Success != null && (Success.Check(args) || !Success.Required));
     }
     else
     {
         return(Fail != null && (Fail.Check(args) || !Fail.Required));
     }
 }
        public virtual RestQueryArgs?Check(RestQueryArgs args)
        {
            _ = args ?? throw new ArgumentNullException(nameof(args));
            var realArgs = new RestQueryArgs(args.Host, args.Location, args.GetArgs, args.Post, args.Session);

            if (rules.Check(realArgs))
            {
                return(realArgs);
            }
            else
            {
                return(null);
            }
        }
            public override bool Check(RestQueryArgs args)
            {
                _ = args ?? throw new ArgumentNullException(nameof(args));
                var success = Host is null ? true
                    : EndsWith
                        ? args.Host.EndsWith(Host, StringComparison.InvariantCultureIgnoreCase)
                        : string.Equals(Host, args.Host, StringComparison.InvariantCultureIgnoreCase);

                if (success && Key != null)
                {
                    args.ParsedArguments[Key] = args.Host;
                }
                return(success);
            }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     if (args.Session == null || Key == null || SessionKey == null)
     {
         return(false);
     }
     if (args.Session.TryGetValue(SessionKey, out object?value))
     {
         args.ParsedArguments[Key] = value;
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     foreach (var rule in Rules)
     {
         if (rule == null)
         {
             continue;
         }
         var success = rule.Check(args);
         if (!success && rule.Required)
         {
             return(false);
         }
     }
     return(true);
 }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     if (Key == null || !args.GetArgs.TryGetValue(Key, out string?strValue))
     {
         return(false);
     }
     if (ParseArgument == null)
     {
         return(false);
     }
     if (!ParseArgument(strValue, out T value))
     {
         return(false);
     }
     args.ParsedArguments[Key] = value;
     return(true);
 }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     if (args.Location.Length <= Index)
     {
         return(false);
     }
     if (ParseArgument == null)
     {
         return(false);
     }
     if (!ParseArgument(args.Location[Index], out T value))
     {
         return(false);
     }
     if (Key != null)
     {
         args.ParsedArguments[Key] = value;
     }
     return(true);
 }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     return(Key != null && args.GetArgs.ContainsKey(Key));
 }
 public override bool Check(RestQueryArgs args)
 {
     _ = args ?? throw new ArgumentNullException(nameof(args));
     return(args.Location.Length <= Index);
 }