Oliver Scherer
c86f4312fb
Always produce a valid, if conservative, subspan.
2019-02-08 18:03:53 -08:00
Sergio Benitez
f0c6c9b26f
Use explicit associated type in 'IntoOwned' impl.
2019-02-06 19:37:39 -08:00
Sergio Benitez
de9a98edd2
Update 'Rocket::custom()' docs to match signature.
...
Resolves #910 .
2019-02-06 17:18:53 -08:00
Chris Foster
4921af459f
Fix typo in 'LenientForm' docstring: 'gaurd' -> 'guard'.
2019-01-31 20:15:10 -08:00
jeb
afd08ffb20
Update compiler tests for 2018-12-28 nightly.
2018-12-29 09:31:14 -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
Sergio Benitez
7fb6ba9be5
Generate 'FromUriParam' impls in 'UriDisplayPath'.
2018-12-06 09:00:01 -08:00
Sergio Benitez
d7933dd6fd
Implement ignorable 'uri!' expressions.
...
Closes #840 .
2018-12-06 08:43:24 -08:00
Sergio Benitez
90a6749313
New version: 0.4.0-rc.2.
2018-11-30 21:00:18 -08:00
Sergio Benitez
7919ceac39
Strip dev-dependencies more reliably.
2018-11-30 20:58:29 -08:00
Sergio Benitez
5ec21d5ba0
Update dependencies to published versions.
2018-11-30 09:00:16 -08:00
Sergio Benitez
ac823861c8
Systematically name and span codegen variables.
...
Fixes #839 .
2018-11-30 08:43:31 -08:00
Sergio Benitez
b7db74144f
Parameterize 'UriDisplay' with 'Path' or 'Query'.
...
This commit introduces the sealed `UriPart` marker trait as well as the
implementing `Path` and `Query` marker types, allowing for parts of a
URI to be distinguished at the type level. Consequently, `UriDisplay`
has been parameterized with `P: UriPart`, creating `UriDisplay<Path>`
and `UriDisplay<Query>`. The effect of this change is improved type
safely for URI rendering as well as the ability to omit rendering values
in query parts via `Option` and `Result`.
The `UriDisplay` derive was replaced by `UriDisplayQuery` and
`UriDisplayPath` which derive implementations for `UriDisplay<Path>`
and `UriDisplay<Query>`, respectively.
This commit also works around a rustdoc visibility issue by creating a
hidden `http::private` module.
Finally, this commit also removes the now vestigial use of the
`rustc_private` feature in codegen.
Fixes #827 .
2018-11-27 10:01:47 -06:00
Sergio Benitez
543b07a4ba
Use upstream 'Literal::subspan()'.
2018-11-23 19:15:13 -06:00
jeb
ed4055925d
Use 'dyn' in codegen to silence 'bare_trait_objects' lint.
2018-11-19 02:34:46 -08:00
Sergio Benitez
abb434f228
Stop using white for legible logging everywhere.
...
Prior to this change, Rocket emitted "white" text in much of its logging
output. On terminals with light backgrounds, the text was nearly
illegible. This PR stops using white coloring altogether, opting instead
to use the terminal's default color albeit with bold styling. On dark
terminals, this will likely be a light color, and on light terminals,
this will likely be a dark color. The end result is that Rocket's
logging output should be readable everywhere.
Resolves #639 .
2018-11-19 02:11:38 -08:00
Sergio Benitez
76c830a467
Update 'base64', 'crossbeam', 'rand' dependencies.
2018-11-18 03:47:12 -08:00
Sergio Benitez
3b6c4d2a5f
Prefix codegen imports to avoid name collisions.
...
Fixes #817 .
2018-11-12 13:08:39 -08:00
Sergio Benitez
834c91ae9d
Remove the need for a current working directory.
...
This commit includes several breaking changes:
* `Config{new,development,staging,production}` constructors return a
`Config` instead of a `Result<Config>`.
* `Config.root()` returns an `Option<&Path>` instead of `&Path`.
* `ConfigError::BadCWD` was removed.
* `Config` no longer exposes a `config_path` field.
Resolves #809 .
2018-11-12 02:24:13 -08:00
Alva Snædís
4dea9eed36
Mention that u128, i128 implement UriDisplay.
2018-11-11 21:51:42 -08:00
Alva Snædís
b87994b52c
Implement FromParam, FromFormValue for i128, u128.
2018-11-11 21:51:24 -08:00
Sergio Benitez
4224419e63
Reduce 'cfg' usage for 'private-cookies' feature.
2018-11-08 23:56:15 -08:00
Linus Unnebäck
53758c6dd7
Introduce the 'private-cookies' feature.
2018-11-08 23:38:18 -08:00
Sergio Benitez
b16269a30e
Add note about cookie tracking serialization.
2018-11-08 21:40:42 -08:00
messense
64ba2056ef
Use 'RwLock' to make 'Client' 'Sync'.
...
Resolves #814 .
2018-11-08 21:40:34 -08:00
Alex Bowers
32e2ff4d6b
Add ZIP (application/zip) as a known media type.
2018-11-08 20:47:26 -08:00
Sergio Benitez
a2ada84986
Move 'UriDisplay' note to top of 'FromUriParam' docs.
2018-11-05 15:02:11 -08:00
Sergio Benitez
983ee9b32d
Make inner 'LenientForm' field public. Add 'State::from()'.
2018-11-03 01:52:19 -07:00
Rukai
b4f85daaf2
Make inner 'Form' field public.
2018-11-02 18:04:27 -07:00
Sergio Benitez
5762208bba
Percent-encode characters: '[', ']', '\', '^', '|'.
...
Fixes #808 .
2018-11-02 00:10:01 -07:00
Sergio Benitez
4dbd87a36f
New version: 0.4.0-rc.1.
2018-10-31 14:35:30 -07:00
Sergio Benitez
ef3e7ca2c6
Make all top-level crates publishable.
2018-10-31 03:57:37 -07:00
Sergio Benitez
41de1e62fb
Implement 'Responder' for 'Status'.
...
This commit obviates the following removed types:
* response::Failure
* response::status::NoContent
* response::status::Reset
Closes #489 .
2018-10-31 03:57:22 -07:00
Sergio Benitez
16a65a9a45
Mention selective importing in 'rocket_codegen' docs.
2018-10-30 02:53:51 -07:00
jeb
328bf4b32e
Support 'uri' macro in 2018 edition crates.
2018-10-30 02:44:22 -07:00
Sergio Benitez
4ef179cc59
Migrate from 'derive_utils' to published 'devise'.
...
Resolves #800 .
2018-10-29 04:58:56 -07:00
Sergio Benitez
7090e2a1ee
Use 'unreachable' to silence clippy on route codegen.
...
Closes #794 .
2018-10-29 01:33:30 -07:00
Sergio Benitez
7b2b6aba81
Use published version of 'pear'.
2018-10-28 20:17:44 -07:00
Sergio Benitez
c1b39a016b
Improve 'Redirect' and 'rocket_codegen' documentation.
2018-10-28 20:17:44 -07:00
Sergio Benitez
a77876f640
Use stable version of 'compiletest_rs'.
2018-10-28 20:17:44 -07:00
Sergio Benitez
3f2e724b23
Update rustls to 0.14.
2018-10-27 18:14:17 -07:00
Sergio Benitez
556206e8b3
Version all URLs to 'rocket.rs'.
2018-10-26 21:20:12 -07:00
Sergio Benitez
3798cd3e65
Document and test 'UriDisplay', its derive, and 'Formatter'.
2018-10-25 02:53:04 -07:00
Divyahans Gupta
cda4c520f1
Add derive for 'UriDisplay'.
2018-10-24 22:14:12 -07:00
Divyahans Gupta
34421f13f3
Allow nested values in 'UriDisplay'.
2018-10-24 21:57:53 -07:00
Sergio Benitez
26db5ecb4e
Fix normalization and Windows issues.
2018-10-24 00:01:56 -07:00
Sergio Benitez
f6325798b1
Normalize paths in 'route_guard' test.
2018-10-23 01:23:11 -07:00
Sergio Benitez
9ef0b731c8
Rename 'codegen_next' to 'codegen'.
2018-10-22 00:01:41 -07:00
Sergio Benitez
8b2ee5b99a
Point 'FromData' implementors to 'FromDataSimple'.
2018-10-21 23:43:24 -07:00
Sergio Benitez
b429063279
Fix incorrect 'Data' buffering.
...
This regression was introduced in ad0ba0d5
, where the buffer was
being copied from Hyper instead of being 'taken', resulting in
double-bufferred contents.
2018-10-21 20:36:40 -07:00
Sergio Benitez
2845b8d4d4
Add coloring disabling with 'ROCKET_CLI_COLORS=off'.
...
Resolves #703 .
2018-10-21 19:46:37 -07:00
Sergio Benitez
831d8dfbe3
Document codegen attributes individually.
2018-10-18 04:00:36 -07:00
Sergio Benitez
330390ad71
Fix unsynchronized doctest.
2018-10-17 18:33:08 -07:00
Sergio Benitez
ea158d4344
Individually document proc bang macros and derives.
2018-10-15 15:27:47 -07:00
Sergio Benitez
ad0ba0d5f1
Remove use of 'unsafe' in 'Data'.
2018-10-15 01:52:06 -07:00
Sergio Benitez
05eee14d90
Update pear to latest revision.
2018-10-14 23:49:02 -07:00
Richo Healey
085a143075
Update docstring for 'ConfigBuilder::keep_alive'.
2018-10-11 16:39:35 -07:00
Sergio Benitez
e34b2f3703
Fully document all public items in core.
2018-10-10 05:28:01 -07:00
Sergio Benitez
8b1e93192e
Version documentation.
2018-10-09 04:31:09 -07:00
Sergio Benitez
28f2a33abd
Use inter/intra-crate links in all documentation.
2018-10-09 04:31:09 -07:00
Sergio Benitez
2839aca8ce
Update features for latest nightly.
2018-10-09 04:31:09 -07:00
Sergio Benitez
360b0e80b0
Port all codegen tests to codegen_next.
2018-10-09 04:31:08 -07:00
Sergio Benitez
b9bf1ee37d
Fix typed URI generation for query reform.
2018-10-09 04:31:08 -07:00
Sergio Benitez
61f107f550
Reimplement route attribute as a proc-macro.
...
This commits also implement the query reform from #608 . It also consists
of many, many breaking changes. Among them are:
* Query parts in route paths use new query reform syntax.
* Routing for queries is now lenient.
- Default ranking has changed to reflect query reform.
* Format routing matching has been fixed.
- Routes with formats matching "accept" will always collide.
- Routes with formats matching "content-type" require requests to
have an equivalent content-type header to match.
- Requests with imprecise content-types are treated as not having a
content-type.
* Generated routes and catchers respect visibility modifiers.
* Raw getter methods from request were renamed and retooled.
- In particular, the index parameter is based on segments in the
route path, not dynamic parameters.
* The method-based attributes no longer accept a keyed 'path'.
* The 'rocket_codegen' crate is gone and will no longer be public.
* The 'FormItems' iterator emits values of type 'FormItem'.
- The internal form items' string can no longer be retrieved.
* In general, routes are more strictly validated.
* Logging from codegen now funnels through logging infrastructure.
* Routing has been optimized by caching routing metadata.
Resolves #93 .
Resolves #608 .
Resolves #693 .
Resolves #476 .
2018-10-09 04:18:04 -07:00
Sergio Benitez
3eb873d89d
Tidy 'uri!' proc-macro. Improve error reporting.
2018-10-04 02:00:04 -07:00
jeb
7624aaf3e4
Reimplement 'uri!' as a proc-macro.
2018-10-03 21:56:37 -07:00
Sergio Benitez
cee2f4439f
Fix 'content_types' example for debug-only 'FromData' impl.
2018-09-27 01:16:26 -07:00
Sergio Benitez
ec4cc3a293
Allow transforms in 'FromData'. Add 'FromDataSimple'.
...
The new 'FromData' trait allows an implementor to instruct the caller to
maintain state on its stack and later pass a borrow for processing.
Among other things, it greatly simplifies the 'Form' type, removing a
use of unsafe, and allows references in deserialized data guards.
2018-09-26 21:33:02 -07:00
Sergio Benitez
633d37bc97
Fix invalid TOML test for updated 'toml' dependency.
2018-09-25 19:41:59 -07:00
Sergio Benitez
24ee97575b
Remove Collider trait.
2018-09-24 19:44:38 -07:00
Sergio Benitez
1a3fd1d237
Add known media types and extensions.
...
Adds the following to the list of known media types:
* audio/webm (WEBA)
* image/tiff (TIFF)
* audio/aac (AAC)
* text/calendar (Calendar)
* video/mpeg (MPEG)
* application/x-tar (TAR)
* application/gzip (GZIP)
* video/quicktime (MOV)
* video/mp4 (MP4)
Also adds the following to the list of known extensions:
* .weba (WEBA)
* .ogv (OGG)
* .mp4 (MP4)
* .mpeg4 (MP4)
* .aac (AAC)
* .ics (Calendar)
* .bin (Binary)
* .mpg (MPEG)
* .mpeg (MPEG)
* .tar (TAR)
* .gz (GZIP)
* .tif (TIFF)
* .tiff (TIFF)
* .mov (MOV)
2018-09-18 18:25:39 -07:00
Sergio Benitez
d011cd63fc
Remove unnecessary 'use rocket::catch'.
2018-09-16 20:52:07 -07:00
Sergio Benitez
7926ffd6f0
Tidy 'routes!' and 'catchers!' proc-macros.
2018-09-16 20:38:02 -07:00
jeb
8e779610c4
Reimplement 'routes!' and 'catchers!' as proc-macros.
2018-09-16 18:52:23 -07:00
Sergio Benitez
46afabdfea
Remove neglected and obscure 'Error' type.
2018-09-16 03:07:50 -07:00
Sergio Benitez
351757c6ee
Rename 'Rocket::catch()' to 'Rocket::register()'.
2018-09-16 02:25:12 -07:00
Sergio Benitez
112e700836
Reimplement 'catch' attribute as a proc-macro.
2018-09-16 01:32:40 -07:00
Sergio Benitez
1f2f38ea5f
Update to latest 'derive_utils'.
2018-09-14 23:15:58 -07:00
jeb
cfdb2a404b
Add Icon (image/x-icon) as a known media type.
2018-09-11 15:16:06 -07:00
jeb
242b358e37
Fix typo in 'handle_error' docstring.
2018-09-11 15:13:20 -07:00
Tal
8172f748b3
Implement 'Clone' for all URI types.
2018-09-03 19:42:34 -07:00
jeb
1da506ea5d
Remove use of the 'const_fn' feature.
2018-09-03 19:41:31 -07:00
Sergio Benitez
42361c31f1
Use crates.io version of 'compiletest_rs'.
2018-08-26 19:24:13 -07:00
Sergio Benitez
df0b96d3fa
Remove 'attr_literals' feature: stabilized.
2018-08-26 19:18:49 -07:00
jeb
59e9f7fcc9
Update codegen for 2018-08-23 nightly.
2018-08-24 00:40:56 -06:00
Sergio Benitez
fd6d577158
Remove 'use_extern_macros' feature: stabilized.
2018-08-18 17:06:28 -07:00
Sergio Benitez
7b4747ff1c
Fix 'Segments::into_path_buf()' docstring.
2018-08-17 11:14:45 -07:00
Sergio Benitez
fe9fad339e
Clean up connection pooling documentation.
2018-08-15 23:31:49 -07:00
Eric Dattore
60b9f06407
Implement connection pooling support in contrib.
...
Resolves #167 .
2018-08-15 22:11:53 -07:00
Sergio Benitez
01a5011b61
Add a module-level docstring to 'http'.
2018-08-15 19:55:34 -07:00
Sergio Benitez
b642e94a2c
Reduce or consolidate git-based dependencies.
2018-08-15 19:44:35 -07:00
messense
135b7d29ae
Update codegen for 2018-08-14 nightly.
2018-08-14 22:01:33 -07:00
Sergio Benitez
10f267a56d
Add 'ConfigError::Missing' to identify missing config keys.
2018-08-14 10:31:54 -07:00
Sergio Benitez
e0961e0750
Require all 'AdHoc' fairings to be named.
2018-08-14 09:14:06 -07:00
messense
589743579a
Fix benchmark compilation.
2018-08-13 15:51:42 -07:00
Sergio Benitez
651c202060
Move 'SegmentError' into 'uri' module.
2018-08-13 02:14:16 -07:00
Sergio Benitez
948a9e6720
Move 'Request::local_cache()' method for nicer docs.
2018-08-13 02:14:16 -07:00