mirror of
https://github.com/rwf2/Rocket.git
synced 2025-01-10 19:49:06 +00:00
1fb061496d
This commit completely overhauls Rocket's configuration systems, basing it on the new Figment library. It includes many breaking changes pertaining to configuration. They are: * "Environments" are replaced by "profiles". * 'ROCKET_PROFILE' takes the place of 'ROCKET_ENV'. * Profile names are now arbitrary, but 'debug' and 'release' are given special treatment as default profiles for the debug and release compilation profiles. * A 'default' profile now sits along-side the meta 'global' profile. * The concept of "extras" is no longer present; users can extract any values they want from the configured 'Figment'. * The 'Poolable' trait takes an '&Config'. * The 'secrets' feature is disabled by default. * It is a hard error if 'secrets' is enabled under the 'release' profile and no 'secret_key' is configured. * 'ConfigBuilder' no longer exists: all fields of 'Config' are public with public constructors for each type. * 'keep_alive' is disabled with '0', not 'false' or 'off'. * Inlined error variants into the 'Error' structure. * 'LoggingLevel' is now 'LogLevel'. * Limits can now be specified in SI units: "1 MiB". The summary of other changes are: * The default config file can be configured with 'ROCKET_CONFIG'. * HTTP/1 and HTTP/2 keep-alive configuration is restored. * 'ctrlc' is now a recognized config option. * 'serde' is now a core dependency. * TLS misconfiguration errors are improved. * Several example use '_' as the return type of '#[launch]' fns. * 'AdHoc::config()' was added for simple config extraction. * Added more documentation for using 'Limits'. * Launch information is no longer treated specially. * The configuration guide was rewritten. Resolves #852. Resolves #209. Closes #1404. Closes #652.
26 lines
670 B
TOML
26 lines
670 B
TOML
# Except for the secret key, none of these are actually needed; Rocket has sane
|
|
# defaults. We show all of them here explicitly for demonstrative purposes.
|
|
|
|
[global.limits]
|
|
forms = "64 kB"
|
|
json = "1 MiB"
|
|
msgpack = "2 MiB"
|
|
|
|
[debug]
|
|
address = "127.0.0.1"
|
|
port = 8000
|
|
workers = 1
|
|
keep_alive = 0
|
|
log_level = "normal"
|
|
hi = "Hello!" # this is an unused extra; maybe application specific?
|
|
is_extra = true # this is an unused extra; maybe application specific?
|
|
|
|
[release]
|
|
address = "127.0.0.1"
|
|
port = 8000
|
|
workers = 12
|
|
keep_alive = 5
|
|
log_level = "critical"
|
|
# don't use this key! generate your own and keep it private!
|
|
secret_key = "hPRYyVRiMyxpw5sBB1XeCMN1kFsDCqKvBi2QJxBVHQk="
|