#query-string #urlencode #url

query-string-builder

A query string builder for percent encoding key-value pairs

9 releases (5 breaking)

0.6.0 Jun 7, 2024
0.5.1 May 24, 2024
0.4.2 May 23, 2024
0.4.1 Jul 8, 2023
0.1.0 Jul 7, 2023

#183 in HTTP client

23 downloads per month
Used in waka

EUPL-1.2

28KB
582 lines

A query string builder for percent encoding key-value pairs

Crates.io Crates.io codecov

This is a tiny helper crate for simplifying the construction of URL query strings. The initial ? question mark is automatically prepended.

Example

use query_string_builder::QueryString;

fn main() {
    let qs = QueryString::new()
        .with_value("q", "apple")
        .with_value("tasty", true)
        .with_value("weight", 70.0)
        .with_opt_value("color", None::<String>)
        .with_opt_value("category", Some("fruits and vegetables?"));

    assert_eq!(
        format!("https://example.com/{qs}"),
        "https://example.com/?q=apple&tasty=true&weight=70.0&category=fruits%20and%20vegetables?&tasty=true"
    );
}

Dependencies

~13KB