URL parser for Rust
docs.rs/url/

Simon Sapin 9ae1fd2fc3 Make rust-encoding an optional feature. %!s(int64=12) %!d(string=hai) anos
src 9ae1fd2fc3 Make rust-encoding an optional feature. %!s(int64=12) %!d(string=hai) anos
.gitignore 6318279688 Use the new and shiny 'cargo doc' %!s(int64=12) %!d(string=hai) anos
.travis.yml 9ae1fd2fc3 Make rust-encoding an optional feature. %!s(int64=12) %!d(string=hai) anos
Cargo.toml 9ae1fd2fc3 Make rust-encoding an optional feature. %!s(int64=12) %!d(string=hai) anos
LICENSE-APACHE 0339bc2d9a Start with an empty crate. %!s(int64=13) %!d(string=hai) anos
LICENSE-MIT 0339bc2d9a Start with an empty crate. %!s(int64=13) %!d(string=hai) anos
README.md a8d7862e1e fix typo %!s(int64=12) %!d(string=hai) anos
github.png 6318279688 Use the new and shiny 'cargo doc' %!s(int64=12) %!d(string=hai) anos
make_encode_sets.py e18f7e460c Make implementation details of percent-encoding encode sets private. %!s(int64=12) %!d(string=hai) anos

README.md

rust-url

Build Status

Rust implementation of the URL Standard.

This is a replacement for Rust’s “old” (as of July 2014) url crate. See Rust bug #10707.

This builds with Cargo, pulling in rust-encoding as a dependency.

Documentation

To do

Not necessarily in the given order:

  • Deprecate and later remove rustc’s old liburl
  • Add data: URL parsing.
  • Add IDNA support. Non-ASCII domains are a parse error for now. Punycode is done, Nameprep is the other big part.
  • Add lots of tests. Contribute them to web-platform-tests.
  • Consider switching the spec from a state machine to functional style, like this code.