Sean McArthur
1b1311a7d3
feat(http): allow specifying custom body streams
2017-02-16 15:06:55 -08:00
Sean McArthur
2266d869ca
Merge pull request #1054 from hyperium/uri-memslice
...
perf(header): Make Uri use MemSlice internally
2017-02-09 12:41:53 -08:00
Guillaume Gomez
524f65a9a3
perf(header): Make Uri use MemSlice internally
2017-02-09 11:45:55 -08:00
Sean McArthur
04f169034a
Merge pull request #1053 from GuillaumeGomez/pub_issues
...
fix(Uri): Reexport Uri struct publicly
2017-02-09 09:14:16 -08:00
Guillaume Gomez
5a4bd497c9
fix(Uri): Reexport Uri struct publicly
2017-02-09 15:25:55 +01:00
Sean McArthur
2f18ce2034
Merge pull request #1052 from ericchiang/futures-example
...
refactor(examples): remove use of depricated futures features
2017-02-08 11:10:06 -08:00
Eric Chiang
2331e0b3e5
refactor(examples): remove use of depricated futures features
...
The "Finished" struct and "finished" method have been deprecated[0]
and don't show up in the futures docs. Prefer non-deprecated
features for users exploring the examples.
[0] https://github.com/alexcrichton/futures-rs/blob/0.1.10/src/future/mod.rs#L25
2017-02-08 10:54:23 -08: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
Sean McArthur
0d05533d07
chore(h2): clear out unused h2 module
2017-02-06 16:53:06 -08:00
Sean McArthur
23ac1bfe82
test(http): test Uri parse errors propagate
2017-02-06 13:37:02 -08:00
Sean McArthur
fc808ef9f8
Merge pull request #1049 from spk/use-pub-hyper-url
...
test(lib): use public hyper::Url everywhere
2017-02-05 14:47:34 -08:00
Sean McArthur
48435cd419
Merge pull request #1050 from spk/fix-commented-uri-tests
...
test(uri): fix URI parse error tests
2017-02-05 14:46:36 -08:00
Laurent Arnoud
70a3f76a27
test(uri): fix URI parse error tests
...
Add also test parse authority without port
2017-02-05 13:12:03 +01:00
Laurent Arnoud
d5ff287b35
refactor(lib): use public hyper::Url everywhere
2017-02-04 14:51:14 +01:00
Sean McArthur
c42f18db05
feat(status): impl Into<u16> for StatusCode
2017-02-02 17:02:35 -08:00
Sean McArthur
027cb71b7b
perf(http): reduce a copy when not using Chunked encoding
2017-02-02 13:13:48 -08:00
Sean McArthur
b4e0057d2b
test(lib): fix unused warnings in doc tests
2017-02-01 15:47:43 -08:00
Sean McArthur
352b31f67d
docs(examples): print that examples are using only 1 thread
2017-02-01 15:47:07 -08:00
Sean McArthur
e9e7381ece
feat(header): implement fmt::Display for several headers
...
Specifically, `CacheControl`, `Expect`, `Origin`, `Pragma`, `Prefer`,
`PreferenceApplied`, `ReferrerPolicy`, `StrictTransportSecurity`.
2017-01-31 23:58:07 -08:00
Sean McArthur
b4b2fb782e
feat(header): add Headers::append_raw
2017-01-30 15:04:04 -08:00
Sean McArthur
cca798a09e
fix(header): deprecate HeaderFormatter
2017-01-30 12:20:30 -08:00
Sean McArthur
53762cafc6
fix(header): enable SetCookie.fmt_header when only 1 cookie
2017-01-30 12:17:44 -08:00
Corey Farwell
5f1fa06089
docs(client): Update Client::configure example to compile
2017-01-28 20:12:35 -08:00
Sean McArthur
d771096455
Merge pull request #1038 from hyperium/headers-mem-slice
...
use MemSlice in Headers
2017-01-27 20:01:37 -08:00
Sean McArthur
61364d245b
perf(header): improve on MemSlice usage in headers
2017-01-26 23:49:44 -08:00
Guillaume Gomez
1b556389c0
perf(header): use MemSlice when parsing headers
2017-01-26 10:07:34 -08:00
Josh
5c890321ee
feat(lib): export Method::Put at top level
2017-01-25 11:43:56 -08:00
Sean McArthur
d966d595e6
chore(github): add pull request template
2017-01-25 11:42:40 -08:00
Sean McArthur
44f2bc6d00
refactor(http): add From<Vec<u8>> impl for MemBuf
2017-01-25 11:05:58 -08:00
Sean McArthur
e3ef866a31
refactor(http): allow MemSlice to be sliced to make copies
2017-01-24 18:36:49 -08:00
Sean McArthur
cfcbd8c96b
fix(http): keep flushing until WOULDBLOCK is received
2017-01-23 23:57:43 -08:00
Andy Moran
529ad564c3
refactor(header): Change to base64 serialize
...
Replace rustc-serialize with base64 crate.
Closes #1028
2017-01-23 23:09:14 -08:00
Sean McArthur
0e332c66f2
refactor(http): adjust socket eof debug log
2017-01-23 22:50:42 -08:00
Sean McArthur
8597c55a13
refactor(http): adjust debug logs
2017-01-23 22:48:35 -08:00
Sean McArthur
8cd89bed86
refactor(header): improve debug view of Headers
2017-01-23 22:48:35 -08:00
Sean McArthur
0385427b53
Merge pull request #1030 from M3rs/remove_vec
...
refactor(uri): Remove vec in uri parsing
Closes #1029
2017-01-23 16:54:03 -08:00
Andy Moran
18bcc4e047
refactor(uri): Remove vec in uri parsing
...
Remove vec allocations in uri parsing. Additionally, change tests
to check the port.
https://github.com/hyperium/hyper/issues/1029
2017-01-23 22:35:50 +00:00
Sean McArthur
8f8b8618cd
refactor(examples): remove log crate from server example
2017-01-23 13:31:39 -08:00
Sean McArthur
a126d2234e
Merge pull request #1027 from M3rs/refactor_uri
...
Refactor(uri): Remove usage of Url parse in Uri #1022
2017-01-23 12:58:21 -08:00
Sean McArthur
8e790831c1
fix(header): security fix for header values that include newlines
...
Newlines in header values will now be replaced with spaces when being
written to strings or to sockets. This prevents headers that are built
from user data to smuggle unintended headers or requests/responses.
Thanks to @skylerberg for the responsible reporting of this issue, and
helping to keep us all safe!
BREAKING CHANGE: This technically will cause code that a calls
`SetCookie.fmt_header` to panic, as it is no longer to properly write
that method. Most people should not be doing this at all, and all
other ways of printing headers should work just fine.
The breaking change must occur in a patch version because of the
security nature of the fix.
2017-01-23 12:55:56 -08:00
Sean McArthur
7d400398ab
refactor(header): only import langtag macro for tests
2017-01-23 11:18:48 -08:00
M3rs
04560dfe24
refactor(uri): Improve parse_authority safety
...
Improve parse_authority safety with match, replace unwrap.
Also, refactor code in contains("://") block using result from the
parse_authority to also use match.
https://github.com/hyperium/hyper/issues/1022
2017-01-23 12:26:08 -06:00
M3rs
8faf5b8bb1
refactor(uri): Add errors to scheme uri
...
Add errors to scheme uri (contains "://").
Check for:
- Valid schemes (ftp, gopher, http, https, ws, wss)
- Invalid schemes (blob, file), or anything else -> Err(Error::Method)
- Authority is not empty (i.e. "http://")
https://github.com/hyperium/hyper/issues/1022
2017-01-22 11:38:45 -06:00
M3rs
37b26e21e8
refactor(uri): Add default path for absolute-form
...
Add default path ("/") for absolute-form, even if not included.
This change assumes self.scheme().is_some() indicates that the Uri
is in absolute-form.
Issue:
https://github.com/hyperium/hyper/issues/1022
2017-01-22 10:51:06 -06:00
M3rs
55d13a9afd
refactor(uri): Remove extra authority logic
...
Remove extra logic in authority getter method which handles
default ports.
2017-01-21 21:20:24 -06:00
M3rs
4f5327afd4
refactor(uri): Remove Url parse
...
Remove usage of Url parse in Uri in order to improve performance.
https://github.com/hyperium/hyper/issues/1022
2017-01-20 23:41:09 -06:00
Jake Goulding
ab254c9103
chore(cargo): add categories to Cargo.toml
2017-01-20 12:04:57 -08:00
Sean McArthur
9f0a537b7b
Merge pull request #1021 from fmonjalet/fix-uri-parsing
...
fix(uri): fix panic when uri contain default port
2017-01-20 12:03:18 -08:00
Florent Monjalet
594ea65420
fix(uri): fix panic when uri contain default port
...
Parsing "http://host:80 " caused panic (index out of bound) because the
authority end index was computed with the original uri but the uri
stored for later used was sanitized by `Url::parse()` to "http://host "
The fix computes the autority end index with the actual uri used (the
one from `Url::parse()`). Two tests have been added.
2017-01-20 17:17:33 +01:00
Sean McArthur
81f64b4af5
chore(travis): remove extra echos from travis.yml
2017-01-19 19:39:31 -08:00