leonardo.yvens
211b408b92
style(http): Rustfmt State.update
2016-07-27 10:46:04 -03:00
leonardo.yvens
9f249bbee8
refactor(http): Dedup code in connection state update.
2016-07-27 10:45:57 -03:00
leonardo.yvens
c6eea3761b
refactor(http): Remove new_state and use nested match for http1 in connection state update.
2016-07-27 10:45:51 -03:00
Sean McArthur
e5841365dd
Merge pull request #874 from hyperium/guide
...
docs(guide): adjust styles of the guides
2016-07-26 09:45:51 -07:00
Sean McArthur
81e6e98d80
docs(guide): adjust styles of the guides
2016-07-26 08:55:08 -07:00
Sean McArthur
6f0921ed94
Merge pull request #873 from hyperium/guide
...
docs(guide): add meat to the Server Guide
2016-07-26 00:27:51 -07:00
Sean McArthur
12c69b5dd0
docs(guide): add meat to the Server Guide
...
Closes #806
2016-07-25 20:23:44 -07:00
Sean McArthur
50ccdaa7e7
feat(header): introduce header::Raw ( #869 )
...
The Raw type repesents the raw bytes of a header-value.
Having a special type allows a couple of benefits:
- The exact representation has become private, allowing "uglier"
internals. Specifically, since the common case is for a header to only
have 1 line of bytes, an enum is used to skip allocating a Vec for only
1 line. Additionally, a Cow<'static, [u8]> is used, so static bytes
don't require a copy. Finally, since we can use static bytes, when
parsing, we can compare the incoming bytes against a couple of the most
common header-values, and possibly remove another copy.
- As its own type, the `Headers.set_raw` method can be generic over
`Into<Raw>`, which allows for more ergnomic method calls.
BREAKING CHANGE: `Header::parse_header` now receives `&Raw`, instead of
a `&[Vec<u8>]`. `Raw` provides several methods to ease using it, but
may require some changes to existing code.
2016-07-23 12:54:16 -07:00
Ed Barnard
d67dbc6028
feat(server): Server::new can take one or more listeners
...
Closes #859
2016-07-18 15:32:38 -07:00
Michael
e1542a609f
feat(headers): add last-event-id header
...
Add a Last-Event-ID header to properly work with Server-Sent Events
Addresses # 723
2016-07-14 20:38:46 -07:00
Sean McArthur
e2264530e7
Merge pull request #864 from hyperium/less-deps
...
refactor(header): internalize traitobject and typeable
2016-07-14 20:36:43 -07:00
Sean McArthur
976218badc
feat(client): add keep_alive_timeout to Client
2016-07-14 19:55:55 -07:00
Sean McArthur
3e66377979
refactor(header): internalize traitobject and typeable
2016-07-14 17:27:59 -07:00
Sean McArthur
02cb96ac2d
feat(server): add idle_timeout to Server
...
Closes #790
2016-07-14 17:23:13 -07:00
Sean McArthur
85894bc123
feat(http): add Decoder.try_read and Encoder.try_write
2016-07-14 10:01:57 -07:00
Sean McArthur
40745c5671
refactor(lib): moved LanguageTag export to header
...
BREAKING CHANGE: LanguageTag used to be at the crate root, but it is now
in the `hyper::header` module.
2016-07-14 09:59:47 -07:00
Sean McArthur
6d54a4dfdc
Merge pull request #857 from hyperium/client-timeout-panic
...
fix(client): handle when DNS resolves after a timeout triggers
2016-07-13 17:19:45 -07:00
Michael
01843f8822
feat(headers): add origin header
...
Add an Origin header so users may properly send CORS requests
Closes #651
2016-07-13 14:50:52 -07:00
Sean McArthur
006f66f34a
fix(client): handle when DNS resolves after a timeout triggers
...
Closes #848
2016-07-13 14:48:11 -07:00
Sean McArthur
220d09fc3a
Merge pull request #856 from hyperium/keep-alive
...
feat(client): implement connection pooling for Client
2016-07-08 11:16:48 -07:00
Sean McArthur
2904668105
feat(client): implement connection pooling for Client
...
Closes #830
Closes #848
2016-07-08 10:07:02 -07:00
Aravind Gollakota
3a86b3a2b2
feat(headers): Add Referrer-Policy header
2016-07-01 22:17:11 -07:00
Tshepang Lekhonkhobe
c77e868408
docs(error): improve Error::Incomplete description ( #846 )
2016-06-30 11:52:42 -07:00
Robin Stocker
61346207aa
docs(server): Fix some typos in server module
2016-06-30 11:52:12 -07:00
Sean McArthur
2fbd80ce69
feat(server): add Transport to on_request
2016-06-23 15:29:30 -07:00
Sean McArthur
d02eb474e1
Merge pull request #841 from hyperium/pr/833
...
fix(headers): Remove raw part when getting mutable reference to typed header
2016-06-20 16:22:20 -07:00
Andre Silva
f38717e422
fix(headers): Remove raw part when getting mutable reference to typed header
...
If you get a mutable reference to a typed header it is possible to make
the two representations be out of sync. To avoid this, after parsing the
raw part it should be removed.
Fixes #821 .
2016-06-20 15:12:30 -07:00
Darin Minamoto
49e196db1c
feat(error): Display for Error shows better info
...
Displays the inner error for Error types with inner errors instead of
just displaying the description.
Closes #694
2016-06-18 14:10:27 -07:00
Sean McArthur
c856de0428
feat(client): add method to end a chunked body for a Request
...
Closes #831
2016-06-17 07:01:42 -07:00
Sean McArthur
1b4f857997
fix(headers): only add chunked to TransferEncoding if not present
2016-06-17 03:52:01 -07:00
Sean McArthur
43ac0dd095
Merge pull request #828 from hyperium/pub-control-error
...
fix(lib): make ControlError public
2016-06-15 09:52:09 +01:00
Tom Burdick
13a6a59d9d
perf(http): reduce memcpy calls using boxed pimpl
...
All of the move semantics remain the same for http::Conn while
the self consumption and move semantics only require a pointer copy
now rather than copying larger amounts of data. This greatly improves
the performance of hyper, by my measurements about 125% faster when
benchmarking using wrk.
2016-06-14 11:28:09 -07:00
Sean McArthur
ad9c580e9a
fix(lib): make ControlError public
2016-06-14 11:24:28 -07:00
Sean McArthur
dabe3ac0b1
Merge pull request #827 from hyperium/enc-dec-get-ref
...
add get_ref methods to Encoder and Decoder
2016-06-14 20:18:28 +02:00
Sean McArthur
766377cfe7
feat(http): add get_ref methods to Encoder and Decoder
2016-06-14 10:55:37 -07:00
leonardo.yvens
d4a095d75c
refactor(multiple): Clippy run
2016-06-12 15:17:15 -03:00
Sean McArthur
42ebb768c3
chore(client): remove dead pool module
2016-06-01 18:28:33 -07:00
Sean McArthur
d80d61cd78
perf(headers): check for header literals before allocating name
2016-06-01 15:09:54 -07:00
Sean McArthur
9338878576
perf(headers): use a Vec instead of HashMap internally
2016-06-01 11:56:35 -07:00
Sean McArthur
8017dac175
chore(http): reduce some logs from error level
2016-05-29 15:50:04 -07:00
Sean McArthur
cee36d4305
feat(client): add Request.set_uri(RequestUri) method ( #803 )
2016-05-24 11:38:11 -07:00
Sean McArthur
2d9aea8db0
fix(client): send query parameters in Requests
2016-05-23 11:19:43 -07:00
Justin Mayhew
8f1c536007
docs(*): fix typos, Markdown inconsistencies, and stutter
2016-05-20 11:42:29 -03:00
Sean McArthur
c81deed3e6
fix(windows): disable openssl cert validation for Windows
...
It doesn't work, so it's just causing errors.
Closes #794
2016-05-18 10:04:39 -07:00
softprops
088822b23d
feat(net): Add OpensslClient constructor
2016-05-17 00:00:35 -04:00
Sean McArthur
38aa51495a
feat(uri): impl Eq and Hash for RequestUri
2016-05-16 09:51:18 -07:00
Sean McArthur
d35992d019
feat(lib): switch to non-blocking (asynchronous) IO
...
BREAKING CHANGE: This breaks a lot of the Client and Server APIs.
Check the documentation for how Handlers can be used for asynchronous
events.
2016-05-16 09:51:18 -07:00
Sean McArthur
54bf6adeee
fix(ssl): use secure ciphers by default in openssl
2016-05-09 12:47:09 -07:00
Sean McArthur
e7229480ea
fix(warnings): remove unused_code warnings from newest nightlies
2016-05-09 11:51:51 -07:00
Sean McArthur
01160abd92
feat(ssl): enable hostname verification by default for OpenSSL
...
Additionally disables SSLv2 and SSLv3, as those are universally considered
unsafe.
Closes #472
2016-05-08 10:04:37 -07:00