Commit Graph

415 Commits

Author SHA1 Message Date
Sean McArthur
d77fcff1c4 v0.11.4 2017-09-28 22:01:59 -07:00
Sean McArthur
217941cef2 v0.11.3 2017-09-28 16:43:50 -07:00
Sam Rijs
0c7d375ba3 feat(lib): implement compatibility with http crate 2017-09-22 12:07:57 -07:00
Sean McArthur
3b91fc65b2 fix(client): cleanup dropped pending Checkouts from Pool
Closes #1315
2017-09-18 13:29:31 -07:00
Sean McArthur
4922bb9d18 v0.11.2 2017-07-27 14:21:24 -07:00
Sean McArthur
7ce3121132 v0.11.1 2017-07-03 15:08:38 -07:00
Sean McArthur
87d2ab4619 chore(cargo): add 'network-programming' category 2017-06-16 13:07:06 -07:00
Sean McArthur
e92b57c4f5 v0.11.0 2017-06-13 12:54:29 -07:00
Sean McArthur
cee8692d81 refactor(header): replace url crate with percent-encoding 2017-06-13 10:55:12 -07:00
Sean McArthur
d09288e7b3 chore(cargo): add homepage, update documentation fields 2017-06-13 10:38:31 -07:00
Sean McArthur
c4c60d90bc chore(dependencies): bump mime v0.3.2, with http token parsing 2017-06-13 10:29:16 -07:00
Sean McArthur
3c75f45c44 chore(cargo): remove 'build.rs' from include field 2017-06-13 10:27:28 -07:00
Corey Farwell
356e309a76 chore(dependencies): upgrade base64 to 0.6 2017-06-11 21:39:30 -07:00
Sean McArthur
efa5e7f341 chore(dependencies): update futures to 0.1.14, since we use new apis 2017-06-08 13:07:33 -07:00
Sean McArthur
f273224f21 feat(mime): upgrade to mime v0.3
The new mime crate has several benefits:

- Faster formatting
- Easier to use. Most common mime types are now just constants, like
  `mime::TEXT_PLAIN`.
- Proper suffix support.
- Extensible without breaking backwards compatiblity. This means we can
  always add new constants, but before we couldn't add new variants to the
  enums.
- It's now impossible for a `Mime` to contain invalid tokens. Before,
  with the `Ext(String)` variants, it was possible to create an illegal
  mime.

Closes #738

BREAKING CHANGE: Most uses of `mime` will likely break. There is no more
  `mime!` macro, nor a `Mime` constructor, nor `TopLevel` and `SubLevel`
  enums.

  Instead, in most cases, a constant exists that can now be used.

  For less common mime types, they can be created by parsing a string.
2017-06-08 13:00:12 -07:00
Sean McArthur
e2ed6f5868 refactor(chunk): make use of Bytes::extend instead of custom code 2017-06-07 17:48:26 -07:00
Sean McArthur
acd62cda44 feat(lib): add raw_status feature in Cargo.toml
The `RawStatus` types on the `Response` are now gone by default. To make
use of them, the `raw_status` feature must be enabled in `Cargo.toml`.

BREAKING CHANGE: To use `RawStatus`, you must enable the `raw_status`
  crate feature.
2017-06-03 16:23:33 -07:00
golem131
ca22eae5ac feat(headers): update to base64 0.5 2017-05-12 13:40:26 +03:00
Sean McArthur
c81edd41d7 refactor(lib): update unicase to 2.0
BREAKING CHANGE: Some headers used `UniCase`, but now use
  `unicase::Ascii`. Upgrade code to `Ascii::new(s)`.
2017-05-10 16:14:59 -07:00
Sean McArthur
f05a58a1b2 chore(travis): set minimum rust version 2017-04-10 15:09:54 -07:00
Alex Crichton
8554904dc9 refactor(lib): convert usage of tokio_core::io to tokio_io
This commit updates to the most recent versions (released today) of the various
Tokio libraries in use. Namely the `tokio_core::io` module has now been
deprecated in favor of an external `tokio-io` crate. This commit pulls in that
crate and uses the `AsyncRead + AsyncWrite` abstraction instead of `Io` from
tokio-core.

BREAKING CHANGE: Any external types that were using that had implemented `Io` will need to 
  implement `AsyncRead + AsyncWrite` from tokio_io.
2017-03-17 17:31:44 -07:00
Sean McArthur
65b3e08f69 feat(http): use the bytes crate for Chunk and internally 2017-03-01 14:15:47 -08:00
Sean McArthur
cf7cc50ad0 chore(cargo): set an include directive 2017-03-01 13:35:30 -08:00
Vincent Prouillet
499c0d1772 chore(dependencies): update base64 to 0.4 2017-02-13 09:40:19 -08:00
Sean McArthur
cca798a09e fix(header): deprecate HeaderFormatter 2017-01-30 12:20:30 -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
Jake Goulding
ab254c9103 chore(cargo): add categories to Cargo.toml 2017-01-20 12:04:57 -08:00
Sean McArthur
637b170f52 refactor(header): change Cookie and SetCookie to use String
This removes the cookie crate, since it has an optional dependency on
openssl, which can cause massive breakage if toggled on. Instead, the
`Cookie` and `SetCookie` headers now just use a `String`. Anyone can
create any typed header, so it is easy to plug in different
implementations.

BREAKING CHANGE: The `Cookie` and `SetCookie` headers no longer use the
  cookie crate. New headers can be written for any header, or the ones
  provided in hyper can be accessed as strings.
2017-01-16 10:50:35 -08:00
Sean McArthur
ff84959f83 chore(lib): bump version to 0.11.0-a 2017-01-16 10:50:35 -08:00
Sean McArthur
2d2d5574a6 feat(lib): redesign API to use Futures and Tokio
There are many changes involved with this, but let's just talk about
user-facing changes.

- Creating a `Client` and `Server` now needs a Tokio `Core` event loop
to attach to.
- `Request` and `Response` both no longer implement the
`std::io::{Read,Write}` traits, but instead represent their bodies as a
`futures::Stream` of items, where each item is a `Chunk`.
- The `Client.request` method now takes a `Request`, instead of being
used as a builder, and returns a `Future` that resolves to `Response`.
- The `Handler` trait for servers is no more, and instead the Tokio
`Service` trait is used. This allows interoperability with generic
middleware.

BREAKING CHANGE: A big sweeping set of breaking changes.
2017-01-16 10:44:27 -08:00
Sean McArthur
02f01765ee fix(tests): update new Host header tests to use Raw 2016-11-16 12:57:09 -08:00
YetAnotherMinion
c8b48c7efd refactor(version): bump version of num_cpus to 1.0 2016-08-27 14:03:24 -04:00
Sean McArthur
0ce83dfbb3 Merge pull request #878 from nox/serde
Update serde to 0.8
2016-08-07 10:29:22 -07:00
Anthony Ramine
dc03ca188a chore(version): Update cookie to 0.3 2016-08-02 09:54:40 +02:00
Anthony Ramine
de921d08fe chore(version): Update serde to 0.8 2016-08-02 09:39:10 +02:00
Sean McArthur
c81cd4b0d5 docs(guide): copy over html files, not markdown files 2016-07-15 14:41:04 -07:00
Sean McArthur
3e66377979 refactor(header): internalize traitobject and typeable 2016-07-14 17:27:59 -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
1ec56fe6b6 v0.9.4 2016-05-09 15:09:26 -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
eab289b7d2 v0.9.3 2016-05-05 14:30:34 -07:00
Sean McArthur
1d936fee90 v0.9.2 2016-05-04 11:16:13 -07:00
Sean McArthur
4828437551 v0.9.1 2016-04-21 17:10:51 -07:00
Sean McArthur
b783ddf455 fix(Cargo.toml): update documentation link 2016-04-21 17:10:22 -07:00
Sean McArthur
eda5ca5b7f v0.9.0 2016-04-21 16:17:25 -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
Sean McArthur
caa796f98d v0.8.1 2016-04-13 15:12:40 -07:00
Sean McArthur
19c9a92595 v0.8.0 2016-03-14 09:57:05 -07:00
Sean McArthur
146df53caf chore(dependencies): update mime to 0.2
BREAKING CHANGE: mime 0.2 depends on serde 0.7, so any instances of
  using older versions of serde will need to upgrade.
2016-03-09 13:27:52 -08:00