Jakub Dąbek
9177b20ff1
Workaround 'rustc' bug, compiling more async code.
...
This commit implements a workaround for an [issue within rustc]. The
problem showed itself when using e.g. a `Vec<&str>` argument in an async
route handler (but not `&str`), which resulted in a "implementation of
`FromForm` is not general enough" error. The workaround itself works by
gathering all invocations of `FromForm`'s methods inside a block without
any `.await` points [ref].
[issue within rustc]: https://github.com/rust-lang/rust/issues/69663
[ref]: https://github.com/rust-lang/rust/issues/57478#issuecomment-501186084
2021-08-24 19:46:47 -07:00
Rodolphe Bréard
7a54a1293e
Display launch address using 'SocketAddr' fmt.
...
This fixes IPv6 address display and future-proofs any such display.
2021-08-24 19:40:42 -07:00
Sergio Benitez
dd43d68d28
Use cardinality-agnostic wording in error format.
...
Closes #1746 .
2021-08-24 19:39:42 -07:00
Sergio Benitez
15e74fe184
Update UI tests for latest nightly.
2021-08-19 20:07:10 -07:00
Sergio Benitez
3616f25c0b
Update 'time' to 0.3, 'cookie' to 0.16.
...
Also reexport 'time' from the crate root.
2021-08-19 19:49:23 -07:00
Sergio Benitez
4b272f19ba
Update 'devise', fix 'Responder' derive generics.
2021-08-19 19:49:23 -07:00
Sergio Benitez
80cd30086a
Don't enable unused 'futures' features.
2021-08-19 19:49:23 -07:00
Sergio Benitez
74be9c68b1
Add missing newline for better doc rendering.
2021-08-19 19:49:23 -07:00
Sergio Benitez
be3ceef4e3
Use 'hyper' instead of 'http' where possible.
2021-08-19 19:49:23 -07:00
Sergio Benitez
6d2059f9eb
Remove unused 'mime' dependency.
2021-08-19 19:49:23 -07:00
Sergio Benitez
a16c66eae9
Propagate 'log_level' to SQLx logs.
...
Closes #1798 .
2021-08-19 19:49:20 -07:00
Sergio Benitez
1a8574e491
Remove unused 'parking_lot' 'http' dependency.
2021-08-19 19:43:34 -07:00
Sergio Benitez
a7f6fb2363
Track caller in 'mount' and 'register' calls.
2021-08-19 19:43:34 -07:00
Sergio Benitez
b6448fc016
Clarify 'Options::Missing' exception in 'FileServer'.
2021-08-19 19:43:34 -07:00
Jeb Rosen
786db9b832
Update UI tests for latest nightly.
2021-08-01 12:25:12 -07:00
Jeb Rosen
5cb243fc24
Update UI tests for latest stable.
2021-08-01 12:24:49 -07:00
Gonçalo Ribeiro
df8cf4575a
Fix typo in 'XssFilter' API documentation: 'enorce' -> 'enforce'.
2021-07-24 14:55:49 -07:00
Joscha
85c0759f1d
Fix typos in 'DataField' API documentation.
2021-07-24 14:55:45 -07:00
Sergio Benitez
7761911847
Update UI tests for latest nightly.
2021-07-21 01:20:53 -07:00
Sergio Benitez
534f43c223
Point to 'mtls::Certificate' in mTLS config docs.
2021-07-20 14:56:30 -07:00
Sergio Benitez
cc0621626b
Prefix 'content' responder names with 'Raw'.
...
The primary aim of this commit is to reduce confusion between
'content::Json' and 'rocket::serde::json::Json' be renaming the former
to 'content::RawJson'. The complete changes in this PR are:
* All responders in the 'content' module are prefixed with 'Raw'.
* The 'content::Custom' responder was removed entirely.
* The 'Plain' responder is now 'RawText'.
* The 'content' API docs point to the 'serde' responders.
* The docs and examples were updated accordingly.
2021-07-20 02:09:11 -07:00
Sergio Benitez
b6324433b4
Remove faulty 'glob' arg in codegen UI tests.
2021-07-18 13:13:50 -07:00
Sergio Benitez
7ffe3a7360
Complete mTLS implementation.
...
Resolves #254 .
2021-07-09 00:05:44 -07:00
Sergio Benitez
bbc36ba27f
Initial implementation of mTLS.
...
Co-authored-by: Howard Su <howard0su@gmail.com>
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
2021-07-09 00:05:20 -07:00
Sergio Benitez
581b63da7e
Restore 'doc(cfg)' labels for config items.
2021-07-05 14:02:19 -07:00
Sergio Benitez
614f8ab46c
Condition TLS config types on 'tls' feature.
...
Previously, TLS, via 'Config::tls', was configurable even if the 'tls'
feature was disabled. This commit changes this so that the 'Config::tls'
field and TLS config structures are only available if 'tls' is enabled.
2021-07-05 13:46:37 -07:00
Sergio Benitez
76fab37e29
Rename 'remote_addr' to 'peer_address'.
2021-07-04 15:37:27 -07:00
Sergio Benitez
b5e3569554
Split TLS module into logical submodules.
2021-07-04 15:25:49 -07:00
Sergio Benitez
de4b3e3891
Make 'tls' its own module.
2021-07-04 15:01:55 -07:00
Sergio Benitez
efce2bc958
Make 'MediaType::with_params()' a builder method.
...
Instead of a constructor, 'MediaType::with_params()' and
'ContentType::with_params()' are now both builder methods. This allow
chaining the method to associated constants.
2021-07-04 13:50:19 -07:00
Sergio Benitez
6aecff39bc
Warn on launch if a custom runtime is detected.
...
The warning is only emitted in debug profiles.
2021-07-02 11:35:59 -07:00
Sergio Benitez
8058798a4c
Properly propagate profile to 'Config' on ignite.
2021-07-02 11:34:35 -07:00
Sergio Benitez
0ffcfae47b
Warn on more deprecated config keys and profiles.
2021-07-02 11:31:50 -07:00
Sergio Benitez
8414d787d9
Impl 'FromUriParam' for 'Json'.
2021-07-02 10:36:57 -07:00
Sergio Benitez
75d851d011
Sync core 'UriDisplay' and 'FromUriParam' impls.
2021-07-02 08:17:22 -07:00
Sergio Benitez
2cee4b4594
Make '&Host' a request guard.
2021-07-02 06:57:43 -07:00
Sergio Benitez
c58b43700c
Add type-safe 'Host' type, 'Request::host()'.
...
Closes #1699 .
2021-07-02 06:48:40 -07:00
Sergio Benitez
f49ee7da00
Make 'FileName' danger more pronounced.
2021-07-02 06:48:09 -07:00
Sergio Benitez
9d20c57d91
Allow named field generics in 'UriDisplay' derive.
2021-07-01 06:02:40 -07:00
Mikail Bagishov
be933ce398
Apply clippy suggestions.
2021-06-30 14:13:19 -07:00
ThouCheese
5ebefa97c9
Impl 'std::Error' for 'serde::json::Error'.
2021-06-30 11:22:31 -07:00
Joakim Soderlund
7b9363f981
Fix typo in 'Sentinel' docs: 'INner' -> 'Inner'.
2021-06-30 11:08:20 -07:00
John-John Tedro
0ddad7a6c1
Impl 'Responder' for 'Arc<T>', 'Box<T>'.
2021-06-30 10:44:30 -07:00
PROgrm_JARvis
4339c2af48
Make '<String as FromParam>::Error' 'Infallible'.
...
Fixes #1679 .
2021-06-30 10:27:46 -07:00
Sergio Benitez
6a3d1ac1d5
Fix 'UriDisplay<Query>' 'Json', 'MsgPack', impls.
...
As 'FromForm' doesn't provide access to the raw, undecoded string,
'MsgPack' cannot implement 'FromForm::from_value()'. This means that it
is not presently possible to parse a MessagePack form from a query
string. As such, the 'UriDisplay<Query>' implementation was removed.
The 'UriDisplay<Query>' for JSON was fixed such that a round-trip of a
'Json<T>' as a form works as expected.
2021-06-30 06:46:03 -07:00
Sergio Benitez
bad762b8c4
Add 'rocket::serde:json::to_string()' functions.
2021-06-30 06:46:03 -07:00
Sergio Benitez
9957e00ad1
Pass type mapper directly in 'Responder' derive.
2021-06-30 06:46:03 -07:00
Sergio Benitez
e141ac8a19
Add 'RawStr::percent_encode_bytes()'.
2021-06-30 06:46:01 -07:00
Sergio Benitez
01a11800ab
Support all generics in 'UriDisplay' derive.
...
This ports the technique used for 'FromForm' and 'Responder' to the
'UriDisplay' trait derives.
2021-06-30 06:20:51 -07:00
Sergio Benitez
3ec58c3ca2
Ensure launch occurs with minimal ciphersuites.
...
Co-authored-by: Abdullah Alyan <AbdullahAlyan@yahoo.com>
2021-06-29 11:27:54 -07:00