Commit Graph

23 Commits

Author SHA1 Message Date
Sean McArthur
a4644959b0 refactor(header): make Quality an opaque struct
This makes the `u16` in `Quality` private, since it only has a valid
range of 0-1000, and can't be enforced in public. The `q` function now
allows both `f32`s and `u16`s to construct a `Quality`.

BREAKING CHANGE: Any use of `Quality(num)` should change to `q(num)`.
2017-04-26 11:22:20 -07:00
Georg Brandl
4c4da4c0e4 docs(quality_item): fix typo 2017-04-18 12:36:13 +02:00
Pyfisch
d80aae55b1 fix(headers): prevent 2 panics in QualityItem parsing
1. index out of bounds if semicolon is the last character
2. not a char boundary on non-ASCII input (only allow ASCII now)

Bugs found using `cargo fuzz`
2017-03-05 12:38:44 +01:00
Julian Tescher
2fa414fb5f fix(lib): Fixed typos in multiple modules
BREAKING CHANGE: The `Preference` header had a typo in a variant and it's string representation,
  change `Preference::HandlingLeniant` to `Preference::HandlingLenient`.
2017-02-07 11:04:42 -08:00
Corey Farwell
4c7f6f0c1e style(all): Address suggestions made by rust-clippy 2015-12-23 08:59:45 -08:00
Sean McArthur
d44ee5980f docs(quality_item): fix typo
Closes #634
2015-11-17 10:47:43 -08:00
Peter Atashian
e0b9a11c9c test(windows): Ignore #[should_panic] tests on 32-bit msvc
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-09-10 00:09:14 -04:00
Pyfisch
5d669399b6 feat(headers): return hyper::Error instead of () from header components
This allows more precise errors in the future and makes it easier to use
the try!() macro in some cases.

BREAKING CHANGE: Error enum extended. Return type of header/shared/
types changed.
2015-05-20 18:24:52 +02:00
Sean McArthur
7e3858c962 perf(all): replace &str.to_string() with .to_owned() 2015-05-12 23:01:58 -07:00
Pyfisch
621ef521f6 fix(headers): Fix formatting of 0 qualites and formatting of empty list header fields. 2015-04-28 08:46:26 +02:00
Sean McArthur
5c2de29a81 chore(stability): remove core feature gate 2015-04-02 17:32:04 -07:00
Sean McArthur
0f5858f379 fix(rustup): update to rust beta 2015-04-02 12:56:20 -07:00
Sean McArthur
d68773c79f feat(headers): add q function to ease creating Quality values 2015-03-03 19:32:37 -08:00
Pyfisch
8f6ce453de refactor(headers): Use u16 based newtype for quality value
Using floating point numbers is problematic because comparison is inexact.
They also take more space than integral numbers in this case.

Add `FromPrimitve`, `ToPrimitive` and `Default` traits to quality newtype.

Closes: #330

BREAKING_CHANGE: Replace f32 quality values in quality items with a
Quality(u16) newtype. Valid values are from 0 to 1000.
2015-02-28 19:44:34 +01:00
Renato Zannon
039e984f68 fix(rustup): Remove uses of the obsolete &a[] syntax 2015-02-21 15:05:50 -08:00
Pyfisch
2859d7ef4e feat(headers): Implement PartialOrd for QualityItem
PartialOrd is useful to sort Collections of QualityItems by quality.
So you can find the preferred match easier.

Closes #314
2015-02-15 18:01:03 +01:00
Peter Atashian
742081c8cf fix(rustup): update FromStr
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-02-03 18:57:24 -08:00
Jonathan Reem
91df2441a0 fix(headers): Don't display q if q=1 in quality item.
Fixes #281
2015-01-28 00:54:38 -05:00
Sean McArthur
9e3c94d764 fix(rustup): update to newest fmt trait names and slice syntax 2015-01-23 14:17:19 -08:00
cyderize
122e94c8a6 Update for latest rust
Tracks rust nightly.

7 tests fail -- still finding source
2015-01-10 18:37:10 +11:00
Sean McArthur
23aeb4993a fix writing raw headers, quality_item 2015-01-05 19:16:34 -08:00
Jonathan Reem
f0fe878ec8 More Rust updates:
- Some stray deriving -> derive changes
- use::{mod} -> use::{self}
- fmt.write -> fmt.write_str

This does not catch the last case of fmt.write_str in the
Show impl of a Header Item. This will need to be changed
separately.
2015-01-05 22:50:10 +01:00
Pyfisch
76126fc6c7 feat(headers): adds Accept
Moved utils to shared/. Added quality_value.
2015-01-03 11:06:38 -08:00