mirror of https://github.com/rwf2/Rocket.git
4c6562cd29
This allows responses to be sent to the client even when data is only partially read, significantly improving the experience for the client from one with a "connection closed" error to one with a proper response. The consequence is a lifetime in 'Data'. Though other non-lifetime-introducing solutions exist, the introduction of a lifetime to 'Data' is a longstanding desire as it prevents smuggling 'Data' into a longer-lived context. Use of 'Data' in that context was unspecified with various runtime consequences. The addition of a lifetime bound by the request prevents this error statically. In summary, the changes are: * Clients receive responses even when data isn't fully read. * 'Data' becomes 'Data<'r>'. 'FromData' changes accordingly. * Route 'Outcome's are strictly tied to the request lifetime. Tangentially, the invalid length form field validation error message has improved to format length in byte units if it exceeds 1024. |
||
---|---|---|
.. | ||
static | ||
absolute-uris-okay-issue-443.rs | ||
can-correct-bad-local-uri.rs | ||
catcher-cookies-1213.rs | ||
conditionally-set-server-header-996.rs | ||
config-secret-key-1500.rs | ||
derive-reexports.rs | ||
encoded-uris.rs | ||
fairing_before_head_strip-issue-546.rs | ||
file_server.rs | ||
flash-lazy-removes-issue-466.rs | ||
form-validation-names.rs | ||
form_method-issue-45.rs | ||
form_value_decoding-issue-82.rs | ||
form_value_from_encoded_str-issue-1425.rs | ||
head_handling.rs | ||
http_uri_serde.rs | ||
launch-inspect.rs | ||
limits.rs | ||
local-client-access-runtime-in-drop.rs | ||
local-request-content-type-issue-505.rs | ||
local_request_private_cookie-issue-368.rs | ||
many-cookie-jars-at-once.rs | ||
mapped-base-issue-1262.rs | ||
mount_point.rs | ||
nested-fairing-attaches.rs | ||
on_launch_fairing_can_inspect_port.rs | ||
panic-handling.rs | ||
precise-content-type-matching.rs | ||
recursive-singleton-fairing.rs | ||
redirect_from_catcher-issue-113.rs | ||
replace-content-type-518.rs | ||
responder_lifetime-issue-345.rs | ||
route_guard.rs | ||
scoped-uri.rs | ||
segments-issues-41-86.rs | ||
sentinel.rs | ||
session-cookies-issue-1506.rs | ||
shield.rs | ||
strict_and_lenient_forms.rs | ||
timer-on-attach.rs | ||
tls-config-from-source-1503.rs | ||
twice_managed_state.rs | ||
typed-uri-docs-redef-issue-1373.rs | ||
unsound-local-request-1312.rs | ||
untracked-vs-tracked.rs | ||
uri-percent-encoding-issue-808.rs |