2 releases

0.1.1 Feb 28, 2023
0.1.0 Dec 19, 2022

#1725 in Web programming

Download history 283/week @ 2023-12-10 400/week @ 2023-12-17 23/week @ 2023-12-24 284/week @ 2023-12-31 323/week @ 2024-01-07 464/week @ 2024-01-14 958/week @ 2024-01-21 871/week @ 2024-01-28 869/week @ 2024-02-04 787/week @ 2024-02-11 845/week @ 2024-02-18 918/week @ 2024-02-25 820/week @ 2024-03-03 881/week @ 2024-03-10 236/week @ 2024-03-17 243/week @ 2024-03-24

2,197 downloads per month
Used in 7 crates (4 directly)

MIT/Apache

9KB
175 lines

url-builder-rs

A simple URL builder with no dependencies, useful for a drop-in way to build URLs in a safe way no matter the protocol. See docs.rs.

Example

use url_builder::URLBuilder;

let mut ub = URLBuilder::new();
ub.set_protocol("http")
    .set_host("localhost")
    .set_port(8000)
    .add_param("first", "1")
    .add_param("second", "2")
    .add_param("third", "3");

println!("{}", ub.build());

lib.rs:

URLBuilder

An easy-to-use crate to construct URLs for the Rust Programming language

You can use this to build up context for a url over the course of execution and then call the .build() method to generate the final url.

The mutating functions allow you to chain them to each other.

Example

The following code will create a url similar to http://localhost:8000?first=1&second=2&third=3 The order of the query parameters is indeterminate as the parameters are internally stored in std::collections::HashMap.

use url_builder::URLBuilder;

let mut ub = URLBuilder::new();

ub.set_protocol("http")
    .set_host("localhost")
    .set_port(8000)
    .add_param("first", "1")
    .add_param("second", "2")
    .add_param("third", "3");

println!("{}", ub.build());

No runtime deps