Sergio Benitez
5b1a04deab
Introduce async database pools: 'rocket_db_pools'.
...
This is the async analog of 'rocket_sync_db_pools', rewritten to be
cleaner, leaner, easier to maintain and extend, and better documented.
Resolves #1117 .
Resolves #1187 .
2021-07-18 12:17:17 -07:00
Jeb Rosen
f7f068be11
Initial implementation of async DB pooling.
2021-07-18 12:14:25 -07:00
Sergio Benitez
693f4f9ee5
Add README to databases example.
...
Closes #1760 .
2021-07-12 16:45:56 -07:00
Sergio Benitez
677790d639
Bring back generated TLS keys, used by tests.
2021-07-09 16:35:09 -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
71823915db
Don't store example keys and certs in repository.
2021-07-07 12:16:12 -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
bb920e6e09
Fix 'context!()' typo: "supports" -> "supported".
2021-07-02 11:44:53 -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
95e9b2e9ef
Remove latent 'dbg!()' in templating tests.
2021-07-02 11:33:32 -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
Sergio Benitez
416f42bca7
Fix header level of "Within Guards" in guide.
...
Resolves #1737 .
2021-06-30 21:02:28 -07:00
Sergio Benitez
2c9217ebd0
Run core feature testing on nightly.
2021-06-30 20:53:59 -07:00
Sergio Benitez
c2d8f11ffe
Doctest core feature matrix with '--no-run'.
...
Previously, we ran each doctest in core many times, once for each
individually enabled feature. This took a long time and consumed an
inordinate amount of resources for no gain: we already run each test
when we enable all features. Instead, emulate a 'cargo check' for
doctests by passing '--no-run' to rustdoc via an environment variable.
2021-06-30 20:44:58 -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
multisn8
8f9d7e6374
Fix guide typo: "deserialzies" -> "deserializes".
2021-06-30 11:08:51 -07:00
Joakim Soderlund
7b9363f981
Fix typo in 'Sentinel' docs: 'INner' -> 'Inner'.
2021-06-30 11:08:20 -07:00
Ian Jackson
42f84f0621
Update IRC links to Libera (irc.libera.chat).
2021-06-30 11:04:54 -07:00
Martinez
2bd5cefedd
Check response status in guide form tests.
2021-06-30 11:01:32 -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
dc1b729f29
Don't ignore 'launch()' result in guide overview.
2021-06-30 10:19:36 -07:00
Sergio Benitez
f0b133023b
Fix git repository link to 'rocket_sync_db_pools'.
2021-06-30 10:15:46 -07:00
Dominik Boehi
d671ec5bb5
Fix link to 'rocket_dyn_templates' git repository.
2021-06-30 10:14:58 -07:00
Flying-Toast
8e3ad40beb
Add 'context!' for ad-hoc templating contexts.
2021-06-30 10:09:28 -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
Sergio Benitez
f818702f9b
Propagate TLS ciphersuite config to rustls.
...
Closes #1563 .
2021-06-29 11:17:59 -07:00
Sergio Benitez
dd722cdcfc
Add configurable TLS ciphersuite preferences.
2021-06-29 10:35:55 -07:00
Sergio Benitez
5a2535f865
Mark 'form::ErrorKind' 'non_exhaustive'.
2021-06-29 05:06:37 -07:00
Sergio Benitez
9ce2935fe1
Impl 'Len' field validator for 'Json', 'MsgPack'.
2021-06-29 03:37:52 -07:00
Sergio Benitez
9399841b0c
Fix order of indices in 'FromForm' map notes.
2021-06-29 03:37:52 -07:00