Sergio Benitez
3ced188f7d
Use 'ref-cast' for safer transparent casting.
2020-07-11 09:24:30 -07:00
Sergio Benitez
c0c6c79a7f
Use 'async_trait' for 'Responder'.
...
Also:
* Remove 'response::ResultFuture'.
* Re-export 'tokio' and 'futures' from the crate root.
* Make 'ResponseBuilder::sized_body()' and 'async fn'.
* Remove the 'Future' implementation for 'ResponseBuilder'.
* Add 'ResponseBuilder::finalize()' for finalizing the builder.
2020-07-11 09:24:29 -07:00
Sergio Benitez
431b963774
Use 'async_trait' for 'FromRequest'.
...
Removes 'FromRequestAsync'.
2020-07-11 09:24:29 -07:00
Michael Howell
c9d0af09d6
Use 'AsyncSeek' for sized bodies in 'Response's.
...
In order to avoid making 'ResponseBuilder::sized_body' an asynchronous
function, the seeking is deferred until finalization. 'finalize()' is
replaced with '.await', and 'ResponseBuilder::ok()' is an 'async fn'.
2020-07-11 09:24:29 -07:00
Jeb Rosen
571e2ac845
Revert incoming request URI and header parsing to more closely match 0.4.
2020-07-11 09:24:29 -07:00
Paolo Barbolini
003bf77c29
Upgrade to tokio 0.2.0.
...
* Update 'tokio', 'tokio-rustls', and 'hyper'.
* Remove unused dependencies on some `futures-*` crates.
* Rework 'spawn_on', which is now 'serve'.
* Simplify Ctrl-C handling.
2020-07-11 09:24:29 -07:00
Jeb Rosen
ea06878581
Update 'hyper', 'futures-*-preview', and 'tokio-*' dependencies.
...
Use I/O traits and types from 'tokio-io' as much as possible.
A few adapters only exist in futures-io-preview and use
futures-tokio-compat as a bridge for now.
2020-07-11 09:24:29 -07:00
Jeb Rosen
d1815e527f
Update 'hyper', 'tokio', and 'tokio-rustls'.
...
* hyper -> 0.13.0-alpha.2
* tokio -> 0.2.0-alpha.5
* tokio-rustls -> 0.12.0-alpha.3
2020-07-11 09:24:28 -07:00
Jeb Rosen
523c6099fb
Replace use of 'hyper::AddrIncoming' with a Listener API and implement TLS.
...
Types can now implement the new 'Listener' trait, which means they can
report the address they are listening on and asynchronously accept
connections. 'Connection's are read/write streams that can additionally
report the remote address.
Listener is implemented for 'tokio_net::tcp::TcpListener' and for
the new 'rocket_http::tls::TlsListener' based on 'tokio-rustls'.
The new private function 'Rocket::listen_on()' now does the main setup
for launch and is generic over a Listener. In the future, a more refined
version of the API can be exposed so that applications can implement
their own listeners.
2020-07-11 09:24:28 -07:00
Jacob Pratt
1f90a9b6d1
Update hyper to '=0.13.0-alpha.1'.
2020-07-11 09:24:28 -07:00
Jeb Rosen
047b1620f9
Update pinned hyper and tokio versions.
2020-07-11 09:24:28 -07:00
Jacob Pratt
e44c5896b8
Remove stabilized 'async_await' feature gate and update the minimum nightly version.
2020-07-11 09:24:28 -07:00
Jeb Rosen
af95129590
Use futures 0.3-compatible hyper and tokio and the tokio runtime instead
...
of futures-rs executor.
Despite this change, using body_bytes_wait on (for example) a File will
still fail due to tokio-rs/tokio#1356 .
2020-07-11 09:24:28 -07:00
Jeb Rosen
633e495a6b
Update many doc tests in 'core' for async.
2020-07-11 09:24:28 -07:00
Jeb Rosen
5d439bafc0
Convert core to async and add support for async routes.
...
Minimum rustc bump required for rust-lang/rust#61775
2020-07-11 09:24:28 -07:00
Marc Schreiber
96b4142156
Upgrade to hyper 0.12.
...
* Use hyper's 'MakeService' implementation with futures API.
* Use tokio runtime to serve HTTP backend.
2020-07-11 09:24:03 -07:00
gcarq
86d0bdddb2
Replace manual ASCII checks with 'std::char' calls.
2020-06-22 05:07:14 -07:00
Sergio Benitez
55d2b2bfb6
Properly mock 'Key::try_generate()'.
2020-06-07 04:02:35 -07:00
Sergio Benitez
ea9865ec42
Allow multiple versions of 'rustls' and 'ring'.
...
Co-authored-by: TotalKrill <kristoffer.odmark90@gmail.com>
2020-06-04 18:59:11 -07:00
Sergio Benitez
3c47fa895a
Enable minimal set of 'cookie' features.
2020-06-04 18:54:23 -07:00
Sergio Benitez
3f20e4ac93
Use proper SPDX license expression in 'Cargo.toml'.
2020-06-03 23:02:05 -07:00
Jeb Rosen
097fbd7df0
Fix some broken links in API documentation.
2020-05-31 11:32:14 -07:00
Yusuke Kominami
a21221aeb6
Replace deprecated 'OffsetDateTime::now' with 'OffsetDateTime::now_utc'.
...
Update 'time' dependency accordingly.
2020-05-30 11:13:40 -07:00
Sergio Benitez
ee5988fe5c
Update 'cookie' to '0.14'.
2020-05-30 01:49:32 -07:00
Sergio Benitez
578038619f
Add 'Origin::map_path()' method.
2020-05-29 17:49:37 -07:00
Sergio Benitez
06e146e7d1
Update 'time' to 0.2 in 'contrib'.
2020-03-25 14:39:55 -07:00
Sergio Benitez
53353df633
Fix more broken links.
2020-03-09 02:03:38 -07:00
Sergio Benitez
d0bfd8a3bb
Update 'cookie' to 0.13.2.
2020-01-29 14:17:01 -08:00
Sergio Benitez
f35e3c4aca
Set cookies even on error responses.
...
Fixes #1213 .
2020-01-23 21:10:04 -08:00
Sergio Benitez
7c1b8dc9ad
Update 'cookie' to 0.13, 'rustls' to 0.16.
2020-01-21 16:10:04 -08:00
Paolo Barbolini
cd5f96ae15
Update 'uuid', 'unicode-xid', and 'base64' dependencies.
2019-11-30 09:33:14 -08:00
Matt Brubeck
8bf6aa2068
Update 'smallvec' to '1.0'.
2019-11-16 13:02:50 -08:00
Jacob Pratt
4e6a7ddd5f
Remove use of the 'crate_visibility_modifier' feature.
...
Most items with 'crate' visibility become 'pub(crate)'.
Items are made 'pub' instead when they would remain private.
2019-09-21 09:16:04 -07:00
Jacob Pratt
bed93133b8
Abide by formatting in 'Debug' implementations.
2019-09-18 19:06:08 -07:00
Sergio Benitez
b7e688cefa
Remove use of deprecated 'IndexMap::remove()'.
...
Use 'IndexMap::swap_remove()' in its place.
2019-09-09 16:51:51 -07:00
Sergio Benitez
99a864008c
Remove use of specialization in http.
2019-09-09 16:45:03 -07:00
Sergio Benitez
6ed4c098f1
Stop exporting 'mime' and relevant conversions.
2019-09-09 16:42:44 -07:00
Jacob Pratt
2dd09f90be
Remove unused 'doc_cfg' feature.
2019-08-06 14:01:35 -07:00
Jeb Rosen
3e4f8453ce
Remove use of the 'decl_macro' feature.
...
Also removes one internal use in the 'typed-uris' codegen test.
2019-07-19 11:39:56 -07:00
Jacob Pratt
34a741a26e
Remove use of '!' type in favor of 'Infallible'.
...
This removes the use of and dependence on the 'never_type' feature.
2019-07-09 15:10:51 -07:00
Sergio Benitez
7f2c9f426c
Fix tests for Windows.
2019-07-06 00:59:01 -07:00
Jeb Rosen
90e37beb2f
Migrate http to Rust 2018.
2019-06-25 13:43:53 -04:00
Brenden Matthews
ba6aa2f05e
Bump cookie, rustls, and hyper-sync-rustls dependencies.
2019-05-14 22:25:55 -07:00
Sergio Benitez
1caf87eb21
Move to 0.5.0-dev on master.
2019-05-13 16:18:48 -07:00
Jacob Pratt
9b219ddc01
Remove stabilized feature gates.
...
* try_from
* transpose_result
2019-04-12 18:48:51 -07:00
Sergio Benitez
f0c6c9b26f
Use explicit associated type in 'IntoOwned' impl.
2019-02-06 19:37:39 -08:00
Sergio Benitez
ca5623c641
Type encoding to fix encoding issues once and for all.
...
Fixes #849 .
2018-12-12 17:38:36 -08:00
Sergio Benitez
5056705884
Improve query string routing and typed URI docs.
2018-12-07 12:09:15 -08:00
Sergio Benitez
b88a2d7d05
Add notes about enabling features to contrib docs.
2018-12-07 09:07:27 -08:00
Sergio Benitez
a4dcb0cf4c
New version: 0.4.0.
2018-12-06 09:19:11 -08:00