Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-10-16 | Version 1.0.2 | Richard Walters | |
* Code in doc examples needs to be reachable through a "main" function, otherwise the tests silently fail to detect problems. * The example for `Uri::resolve` was calling `path_to_string` rather than `to_string`. | |||
2020-10-15 | Refactoring for encode_element; thanks to @Serayen for suggesting them | Richard Walters | |
* We can write! directly into a String (as lone as we use std::fmt::Write). * We can pre-allocate the encoded String with an estimate of the number of bytes we need. If we need more, String will allocate more, and only in doubles (not every `push` or `write!`). | |||
2020-10-15 | Version 1.0.1 | Richard Walters | |
* Fixed bug in percent encoding of characters \x0 through \xF where they were encoded as "%0" through "%F" rather than "%00" through "%0F". | |||
2020-10-14 | Distribute tests closer to the code they test | Richard Walters | |
2020-10-14 | Fix new clippy warnings | Richard Walters | |
* Suppress clippy::option_if_let_else in parse_host_port::State::next_percent_encoded_character because the warning recommends Option::map_or which we cannot use because it leads to using a moved value. * Use matches! instead in uri::Uri::is_path_absolute as recommended. * Use and_then instead of if let/else in uri::Uri::port as recommended; note we need to replace the & with as_ref for self.authority. * In uri::Uri::resolve, replace the large if let/else with map_or as recommended, although it's not clear if it makes it any easier to read. ¯\_(ツ)_/¯ | |||
2020-10-14 | Preparation for publishing on crates.io | Richard Walters | |
* Rename crate to "rhymuri" since "uri" is taken; FeelsBadMan * Bump crate version to 1.0.0. * Add categories, keywords, and repository metadata. * Update README with links to crates.io and documentation. * Add license reference in README. | |||
2020-10-13 | Fix issue with naming | Richard Walters | |
Use "to_" prefix instead of "as_" for functions which create values (expensive). See: https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv | |||
2020-10-13 | Add test vector to test Error::TooManyDigits | Richard Walters | |
2020-10-13 | Make the Context and Error types public | Richard Walters | |
2020-10-13 | Add documentation (Rust) | Richard Walters | |
2020-10-13 | Consolidate crate-wide warning attributes to crate level (lib.rs) | Richard Walters | |
2020-10-13 | Fix issues using library | Richard Walters | |
* Don't pull in all of the uri module as public. * To expose types publically, use "pub use" at crate level. | |||
2020-10-13 | No need to use turbofish for collect in encode_element | Richard Walters | |
2020-10-13 | Reuse DIGIT character set in HEXDIG | Richard Walters | |
2020-10-13 | Remove unnecessary allow | Richard Walters | |
2020-10-13 | Sort functions by alphabetical order | Richard Walters | |
2020-10-13 | Move Uri to its own module | Richard Walters | |
2020-10-13 | Move authority and codec functions to their own modules | Richard Walters | |
2020-10-13 | Rust refactoring | Richard Walters | |
* Move Context, Error, and character classes to their own modules. * Move host/port parsing and IP address validation to their own modules, and break the code up into different functions to process their state machines. | |||
2020-10-12 | Fix bugs in validating numbers of IPv6 address groups | Richard Walters | |
2020-10-12 | Replace lazy_static! with once_cell::sync::Lazy | Richard Walters | |
2020-10-12 | Remove unused statics | Richard Walters | |
2020-10-12 | Rust refactoring | Richard Walters | |
* Move decode_element out of Uri impl. * Rewrite encode_element to be more functional. * Add test for empty port number. | |||
2020-10-12 | Rust refactoring | Richard Walters | |
* Dismiss todos. * Remove unused parens for multi-line ifs. * Explain at_directory_level variable in Uri::normalize_path. | |||
2020-10-12 | Add ..._as_string methods to Uri for convenience | Richard Walters | |
2020-10-12 | Clean up tests in Rust | Richard Walters | |
* Use Uri::path_as_string() when convenient. * Remove unnecessary clones and temporary variables. | |||
2020-10-12 | Rust refactoring | Richard Walters | |
* Use Into trait for setters to accept input. * Make input to Uri::check_scheme more flexible. * Rewrite Uri::set_path_from_str to use match so as not to shadow path, and no need for 'a lifetime. * Rewrite Uri::set_scheme to use match. | |||
2020-10-12 | Remove unnecessary blank line | Richard Walters | |
2020-10-12 | Make functions accepting references more generic using AsRef | Richard Walters | |
2020-10-12 | Clean up Uri::host | Richard Walters | |
2020-10-12 | Use Into::into in place of closures | Richard Walters | |
2020-10-12 | Make Uri::decode_element more flexible in what it takes as an argument | Richard Walters | |
2020-10-12 | Clean up Uri::parse_path and make it functional | Richard Walters | |
2020-10-12 | Refactoring: collect path functionally | Richard Walters | |
2020-10-12 | Make Uri::check_scheme more functional | Richard Walters | |
2020-10-12 | clean up todos | Richard Walters | |
2020-10-12 | Make Uri::decode_element more functional | Richard Walters | |
2020-10-11 | Fix normalize test and corner case bug with path_as_string | Richard Walters | |
2020-10-10 | Remove explicit test vector array length declarations | Richard Walters | |
This method was proposed by @Serayen. | |||
2020-10-09 | Use named_tuple! to simplify test vector declarations | Richard Walters | |
2020-10-09 | Use thiserror to implement Error/Display/From traits for us | Richard Walters | |
2020-10-09 | Minor whitespace/comment cleanup | Richard Walters | |
2020-10-09 | Make Rust errors a bit more expressive | Richard Walters | |
2020-10-09 | Rust implementation refactoring | Richard Walters | |
* Use more expressive errors, especially in address parsing. * Use match in some cases where we were using if/else. * Split IPv6 address parsing tests up between good/base cases. | |||
2020-10-09 | Implement std::error::Error for custom error types | Richard Walters | |
2020-10-09 | Remove unnecessary check in IPv6 parsing | Richard Walters | |
It's not possible to have encountered a double-colon when in the COLON_BUT_NO_GROUPS_YET state. | |||
2020-10-09 | Slight improvement to name of a state in IPv6 address parsing | Richard Walters | |
AFTER_COLON_EXPECT_GROUP_OR_IPV4 -> AFTER_DOUBLE_COLON | |||
2020-10-09 | Fix bug in parsing IPv6 addresses | Richard Walters | |
Fix bug where an IPv6 address ending in a double-colon was not considered valid (it was being considered as truncated). | |||
2020-10-09 | Fix bug in IPv6 address parsing | Richard Walters | |
Fix bug where IPv6 address ending in a group with only digits followed by a double-colon would not get parsed correctly | |||
2020-10-09 | Dismiss some todos | Richard Walters | |