Commit Graph

665 Commits

Author SHA1 Message Date
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
Sean McArthur
17f818e5c1 Merge pull request #781 from hyperium/pool-mutex-race
fix(client): fix panic in Pool::connect
2016-05-05 12:16:47 -07:00
Sean McArthur
e51bafe2e4 fix(client): fix panic in Pool::connect
Closes #780
2016-05-05 10:45:16 -07:00
Manish Goregaokar
b840963629 docs(*): Clippy fixes with markdown docs 2016-05-05 22:50:23 +05:30
Sean McArthur
f36c6b255f feat(client): proper proxy and tunneling in Client
Closes #774
2016-05-02 12:33:49 -07:00
Sean McArthur
25010fc1fc feat(client): add Proxy support
This works by configuring proxy options on a `Client`, such as
`client.set_proxy("http", "127.0.0.1", "8018")`.

Closes #531
2016-04-25 15:49:57 -07:00
Sean McArthur
5fcc04a6cd perf(client): dont keep Pool mutex locked during getaddrinfo 2016-04-25 15:36:55 -07:00
Simon Sapin
8fa7a98968 refactor(hyper): Update to rust-url 1.0
BREAKING CHANGE: The re-exported Url type has breaking changes.
2016-04-21 16:14:08 -07:00
Steven Fackler
f37315b270 feat(net): Add Ssl impls for security-framework
Cloese #755
2016-04-16 16:20:52 -07:00
Steven Fackler
2c86e8078e feat(net): Split Ssl into SslClient and SslServer
SSL libraries other than OpenSSL don't necessarily have the ability to
easily create server and client side connections at the same time. This
is backwards compatible due to blanket impls.

Closes #756
2016-04-05 21:48:53 -07:00
Sean McArthur
bc3878de36 Merge pull request #750 from calebmer/feat/prefer
feat(header): add prefer and preference applied headers
2016-03-31 18:56:58 -07:00
calebmer
6f6493010a feat(header): add prefer and preference applied headers
Closes #747
2016-03-31 15:46:34 -04:00
Sean McArthur
cbf83a4d5a Merge pull request #751 from hyperium/per-tag-docs
chore(docs): publish docs per version
2016-03-24 19:52:47 -07:00
Sean McArthur
905e0d2ff4 chore(docs): publish docs per version 2016-03-24 18:57:23 -07:00
Steven Allen
70c6914217 fix(headers): correctly handle repeated headers
HeaderX: a
    HeaderX: b

MUST be interpreted as

    HeaderX: a, b

See: https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

Fixes #683
2016-03-24 14:19:15 -07:00
Danilo Bargen
eedd5b73ee docs(headers): Remove charset from json() docs
Leftover from ec568e9a55.
2016-03-15 12:33:32 +01:00
Jonathan Giddy
93fd5a87bd feat(status): add HTTP statuses 421 and 451
The official IANA list at
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
has two new status codes that are missing from the hyper status list.
2016-03-14 10:31:54 +00:00
Sean McArthur
d1f9f5f694 Merge pull request #736 from debris/serde_up
refactor(headers): updated serde to version 0.7
2016-03-09 11:01:18 -08:00
Garrett Squire
ec568e9a55 fix(headers): remove charset from ContentType::json() convenience method
since the JSON mime type does not accept a charset, this patch removes
it

closes https://github.com/hyperium/hyper/issues/737
2016-03-08 17:41:34 -08:00