Commit Graph

383 Commits

Author SHA1 Message Date
Sean McArthur
350ce542be v0.11.14 2018-01-16 14:20:26 -08:00
Sean McArthur
586993fb2f chore(dependencies): update pretty_env_logger to rc.2 2018-01-12 12:02:13 -08:00
Sean McArthur
00d6a38547 v0.11.13 2018-01-12 11:38:18 -08:00
Sean McArthur
e34a32b0a0 v0.11.12 2018-01-08 10:06:19 -08:00
Sean McArthur
b3f32469b0 v0.11.11 2018-01-05 10:51:18 -08:00
Sean McArthur
34f0dba6dc chore(log): update to log 0.4 2018-01-04 14:50:18 -08:00
Sean McArthur
6ade21aa7f feat(server): change default dispatcher
- Deprecates the `no_proto` configuration on `Server`. It is always
  enabled.
- Deprecates all pieces related to tokio-proto.
- Makes the tokio-proto crate optional, and the `server-proto` feature
  can be used to completely remove the dependency. It is enabled by
  default.
2017-12-28 19:15:57 -08:00
Sean McArthur
ccd8ebff75 v0.11.10 2017-12-26 15:25:20 -08:00
Alex Gaynor
45439bec31 chore(lib): update base64 version 2017-12-21 11:27:41 -05:00
Jeff Olhoeft
61877f6f6e docs(server): Add a forms server example
Add an example program illustrating parsing a request body through
generating a response body.
2017-12-13 14:30:04 -08:00
Sean McArthur
16aa92cf03 v0.11.9 2017-12-09 19:02:12 -08:00
Sean McArthur
a594341701 v0.11.8 2017-12-06 16:56:13 -08:00
golem131
8e7af7b9f1 chore(lib): update base64 and futures versions
- base64 0.6 -> 0.8
- futures 0.1.14 -> 0.1.17
2017-11-28 14:59:01 -08:00
Sean McArthur
3f62bde7b3 v0.11.7 2017-11-14 13:41:37 -08:00
Sean McArthur
b60d4cda3d chore(server): setup ServerProto pieces to be deprecated
- Adds a `server-proto` feature that is added to default features.
- If `server-proto` feature is not enabled, pieces that will eventually
  be deprecated and optional will be tagged deprecated, but with a note
  about the missing `server-proto` feature.
2017-11-09 15:45:13 -08:00
Sam Rijs
ed497bf5e6 feat(client): allow custom executors for HttpConnector 2017-10-18 15:56:33 +11:00
Sean McArthur
4b1e9d1bab v0.11.6 2017-10-02 18:21:41 -07:00
Sean McArthur
c2fd47f211 v0.11.5 2017-10-02 15:46:09 -07:00
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