mirror of https://github.com/rwf2/Rocket.git
4e06ee64aa
Prior to this commit, it was not possible to test Rocket crates in production mode without setting a global secret key or bypassing secret key checking - the testing script did the latter. The consequence is that it became impossible to test secret key related failures because the tests passed regardless. This commit undoes this. As a consequence, all tests are now aware of the difference between debug and release configurations, the latter of which validates 'secret_key' by default. New 'Client::debug()' and 'Client::debug_with()' simplify creating an instance of 'Client' with configuration in debug mode to avoid undesired test failures. The summary of changes in this commit are: * Config 'secret_key' success and failure are now tested. * 'secret_key' validation was moved to pre-launch from 'Config:from()'. * 'Config::from()' only extracts the config. * Added 'Config::try_from()' for non-panicking extraction. * 'Config' now knows the profile it was extracted from. * The 'Config' provider sets a profile of 'Config.profile'. * 'Rocket', 'Client', 'Fairings', implement 'Debug'. * 'fairing::Info' implements 'Copy', 'Clone'. * 'Fairings' keeps track of, logs attach fairings. * 'Rocket::reconfigure()' was added to allow modifying a config. Internally, the testing script was refactored to properly test the codebase with the new changes. In particular, it no longer sets a rustc 'cfg' to avoid secret-key checking. Resolves #1543. Fixes #1564. |
||
---|---|---|
.. | ||
absolute-uris-okay-issue-443.rs | ||
attach-inspect.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 | ||
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 | ||
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 | ||
redirect_from_catcher-issue-113.rs | ||
replace-content-type-518.rs | ||
responder_lifetime-issue-345.rs | ||
route_guard.rs | ||
segments-issues-41-86.rs | ||
session-cookies-issue-1506.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 |