Skip to main content

collect_input

Function collect_input 

Source
pub fn collect_input(
    stdin_flag: Option<&str>,
    cli_kwargs: HashMap<String, Value>,
    large_input: bool,
) -> Result<HashMap<String, Value>, CliError>
Expand description

Merge CLI keyword arguments with optional JSON input.

Resolution order (highest priority first):

  1. CLI flags (non-Null values in cli_kwargs)
  2. JSON from stdin_flag:
    • Some("-") → read from stdin
    • Some(path) → read from file at path
    • None → no JSON input, return CLI kwargs only

§Arguments

  • stdin_flagSome("-") for stdin, Some(path) for a file, None to skip
  • cli_kwargs — map of flag name → value (Null values are ignored)
  • large_input — if false, reject payloads exceeding 10 MiB

§Errors

Returns CliError (exit code 2) on oversized input, invalid JSON, non-object JSON, or file open failures.