INNER CODE UNIT · Rust
parse_upload_size_limit
TheWaWaR/simple-http-server · src/config.rs:486
fn parse_upload_size_limit(value: &str) -> Result<u64, String> {
let trimmed = value.trim();
if trimmed.is_empty() {
return Err("size limit can not be empty".to_owned());
}
let suffix_start = trimmed
.find(|ch: char| !ch.is_ascii_digit())
.unwrap_or(trimmed.len());
let (number, suffix) = trimmed.split_at(suffix_start);
if number.is_empty() {
return Err("size limit must start with a number".to_owned());
}
let value = number.parse::<u64>().map_err(|err| err.to_string())?;
let multiplier = match suffix.trim().to_ascii_uppercase().as_str() {
"" | "B" => 1,