Matthew Pomes
5cb70ec58c
Salvage everything viable from bad requests.
...
Co-authored-by: Sergio Benitez <sb@sergio.bz>
2022-05-23 23:47:53 -07:00
Matthew Pomes
47946cc55c
Add 'max_blocking' threads config value.
2022-05-23 21:55:16 -07:00
Konrad Borowski
6f223518e4
Fix 'clippy::needless_late_init' in form codegen.
...
Changes codegen for '#[field(default = e)]' to resolve the
'needless_late_init' Clippy warning.
2022-05-23 16:41:10 -07:00
Kenneth Allen
1587c501f3
Fix typo in 0.5 upgrade guide.
2022-05-23 16:37:18 -07:00
Sergio Benitez
907af10ea4
Tolerate more timing issues in SSE heartbeat test.
2022-05-23 16:36:06 -07:00
Sergio Benitez
9b3c83eb70
Add 'Metadata::render()': direct template render.
...
Resolves #1177 .
2022-05-20 16:18:17 -07:00
Sergio Benitez
4827948401
Use '-q' (quiet) when running tests in CI.
2022-05-19 18:23:55 -07:00
Matthew Pomes
f21da79f44
Make 'form::ErrorKind' 'From' impl const generic.
...
Converts an older style array impl to one that uses const generics,
allowing any array length, not just a few sizes.
2022-05-19 18:17:06 -07:00
Sergio Benitez
d92b7249cb
Update UI tests for latest stable rustc.
2022-05-19 14:16:05 -07:00
Sergio Benitez
26b58846a7
Mark fns returning 'Rocket<Build>' 'must_use'.
...
Remove 'must_use' on the generic 'Rocket<P>', which was overly
conservative. This change, in effect, marks only 'Rocket<Build>'
'must_use', which is a much more precise implementation of the intended
safety guard.
2022-05-19 10:45:24 -07:00
Sergio Benitez
b4e1cac7a2
Fix Rocket's dependency count in FAQ.
2022-05-18 17:34:18 -07:00
Konrad Borowski
e390423083
Enable 'cookie' 'secure' feature conditionally.
...
This was incorrectly enabled unconditionally in 442b668
.
2022-05-18 17:29:52 -07:00
Sergio Benitez
68185ce0e2
Update comment in 'Listener' sleep code.
2022-05-18 17:29:21 -07:00
Sergio Benitez
bf2bd0e9ed
Impl 'Responder' for 'Box<T: Responder + Sized>'.
...
In other words, allow boxing sized responders.
Resolves #1999 .
2022-05-10 15:48:40 -05:00
Sergio Benitez
8bd1e29677
Mention removal of `content::Custom` in CHANGELOG.
...
Closes #2170 .
2022-05-10 15:12:01 -05:00
Sergio Benitez
8237ca22e1
Fix minor typos in rc.2 release docs.
2022-05-10 15:08:07 -05:00
Dimitri Sabadie
c17cc9d23f
Fix typo in 'Rocket' docs: iterior -> interior.
2022-05-10 15:08:03 -05:00
Sergio Benitez
05db80afbc
Don't set master as current release.
2022-05-09 06:32:53 -05:00
Sergio Benitez
4dcd92837f
New version: 0.5.0-rc.2.
...
New contrib versions: 0.1.0-rc.2.
2022-05-09 06:32:46 -05:00
Sergio Benitez
29fc7f54f5
Fix broken anchor link in config guide.
2022-05-09 06:32:46 -05:00
Sergio Benitez
0a8f917180
Update build benchmark in FAQ.
2022-05-09 06:32:46 -05:00
Sergio Benitez
1c9ac78f76
Add 'db_pools' to 'config.sh' crates.
2022-05-09 06:32:46 -05:00
Sergio Benitez
f568d43caa
Print more variables from 'config.sh -p'.
2022-05-09 04:58:28 -05:00
Sergio Benitez
e1a19054d0
Update state guide for 'rocket_db_pools'.
2022-05-09 04:56:07 -05:00
Sergio Benitez
58b96b8e94
Update CHANGELOG for rc.2, missing rc.1 changes.
...
Closes #1923 .
2022-05-09 01:30:57 -05:00
Sergio Benitez
78aad3aa95
Fix 'PasteId' 'use' in pastebin tutorial.
2022-05-08 18:30:13 -05:00
Sergio Benitez
fccb5759db
Revamp pastebin tutorial for Rocket v0.5.
...
Closes #1756 .
2022-05-08 01:57:49 -05:00
Sergio Benitez
4c8bd61c4f
Unhide 'http' exports that shouldn't be hidden.
2022-05-08 01:08:22 -05:00
Sergio Benitez
46c441ad8b
Add 'rocket::execute()'.
...
The function allows executing arbitrary futures, including Rocket's
`launch()` future, on Rocket's async runtime.
Resolves #1881 .
2022-05-07 15:54:21 -05:00
Sergio Benitez
7908dc43ca
Introduce shutdown fairings.
...
Also adds 'Client::terminate()' to run graceful shutdown in testing.
Resolves #1707 .
2022-05-07 06:12:32 -05:00
Sergio Benitez
1575f47753
Update FAQ.
2022-05-07 06:12:32 -05:00
Sergio Benitez
0ba56ccbb3
Revamp shutdown to recover shutdown 'Rocket'.
...
The core improvement is that `Rocket::launch()` now resolves to
`Ok(Rocket<Ignite>)` on nominal shutdown. Furthermore, shutdown never
terminates the running process.
Other changes directly related to shutdown:
* Runtime worker thread names are now irrelevant to graceful shutdown.
* `ErrorKind::Runtime` was removed; `ErrorKind::Shutdown` was added.
* The `force` config value is only read from the default provider.
* If `force`, Rocket's constructed async runtime is terminated.
Other related changes:
* The exported `hyper` module docs properly reflect public re-exports.
2022-05-07 06:12:24 -05:00
Sergio Benitez
761ffb009e
Add clarity around 'serde' re-exports.
...
Closes #2038 .
2022-05-06 04:38:27 -05:00
Marc-Stefan Cassola
a9452c6fa4
Fix 'FromRequest' docs typo: 'request' -> 'route'.
2022-05-05 08:02:32 -05:00
Arthur Woimbée
4df97f0e25
Improve unrecognized TLS key header error message.
...
Resolves #2128 .
2022-05-05 08:00:24 -05:00
Sergio Benitez
38e43d0840
Improve and clarify 'Rocket' phase docs.
2022-05-04 12:40:20 -07:00
Sergio Benitez
f12788dbf9
Synchronize 'db_pools' docs with libraries.
...
Also adds an integration test designed to break if upstream types change
in a manner incompatible with docs.
2022-05-04 12:38:29 -07:00
Sergio Benitez
54224618b2
Switch to upstream 'tokio-rustls'.
2022-05-04 09:44:26 -07:00
Sergio Benitez
1586ef9572
Downgrade URI discord debug assertion to warning.
...
Closes #1831 .
2022-05-04 09:44:26 -07:00
Sergio Benitez
ee4aa81847
Allow '[' and ']' in URI paths.
...
This is strictly noncompliant and they should be encoded, but browsers
routinely send them unencoded, so we allow them to avoid trouble.
2022-05-04 09:44:24 -07:00
Sergio Benitez
4c6c0b497c
Avoid more platform dependent errors in UI tests.
2022-05-03 14:33:11 -07:00
Sergio Benitez
55ea5dfb35
Avoid platform dependent errors in UI tests.
2022-05-03 13:56:25 -07:00
Sergio Benitez
07460df279
Rework TLS listener/connection implementations.
...
The previous implementation allowed a trivial DoS attack in which the
client need simply maintain open connections with incomplete handshakes.
This commit resolves that by allowing a server worker to progress as
soon as a TCP connection has been established. This comes at the expense
of a more complex implementation necessitated by deficiencies in Hyper.
Potentially resolves #2118 .
2022-05-03 13:56:25 -07:00
Sergio Benitez
e9d46b917e
Fully 'drop()' I/O struct in 'CancellableIo'.
...
This should improve the reliability of graceful shutdown.
2022-05-03 13:55:43 -07:00
Sergio Benitez
bf84b1cdb5
Enable TCP_NODELAY on TCP-based connections.
...
We may want a more fine-grained approach to immediately transmitting
application data, but Hyper does not yet expose a suitable API.
Resolves #2062 .
2022-04-28 13:22:06 -07:00
Sergio Benitez
613366f4bb
Fix UI tests.
2022-04-27 13:59:20 -07:00
Sergio Benitez
6fc24789e9
Fix SSE heartbeat so it never interrupts events.
...
Previously, the heartbeat message, in its raw form, was ":\n\n". This
commit changes the message to be ":\n".
The former message, when parsed as Server-Sent Events, contained an
empty comment (as desired) _and_ a new line (erroneously). The new line
resulted in emitting any event that was presently being emitted, even if
it wasn't complete. That is, emitting an event partly, such as the
event's data but not its name. Removing the extra new line resolves this
issue and ensures that events aren't interrupted by the heartbeat.
Fixes #2152 .
2022-04-27 13:59:03 -07:00
Sergio Benitez
b117210ca6
Update 'rustls-pemfile' to 1.0.
2022-04-26 22:09:10 -07:00
Sergio Benitez
810f472524
Update 'uuid' to 1.0.
2022-04-26 22:04:47 -07:00
Sergio Benitez
6bdd2f8186
Consider form parsing strategy for 'Vec', 'Map'.
...
Prior to this commit, 'Vec', 'HashMap', and 'BTreeMap' would parse
leniently irrespetive of the requested parsing strategy. This commit
changes their behavior so that the parsing strategy is respected.
Resolves #2131 .
2022-04-21 08:17:58 -07:00