Protect the global environment
This commit is contained in:
parent
e0715efb64
commit
ef063bc92a
1 changed files with 30 additions and 0 deletions
|
@ -12,6 +12,36 @@ rescue LoadError
|
|||
require gem_name
|
||||
end
|
||||
|
||||
# Clean common ENVs
|
||||
ENV.delete 'APP_ENV'
|
||||
ENV.delete 'RACK_ENV'
|
||||
ENV.delete 'RAILS_ENV'
|
||||
|
||||
# Clean Puma ENVs
|
||||
ENV.delete 'LISTEN_FDS'
|
||||
ENV.delete 'LISTEN_PID'
|
||||
ENV.delete 'MAX_THREADS'
|
||||
ENV.delete 'MIN_THREADS'
|
||||
ENV.delete 'NOTIFY_SOCKET'
|
||||
ENV.delete 'PUMA_BUNDLER_PRUNED'
|
||||
ENV.delete 'PUMA_DEBUG'
|
||||
ENV.delete 'PUMA_LOG_CONFIG'
|
||||
ENV.delete 'PUMA_MAX_THREADS'
|
||||
ENV.delete 'PUMA_MIN_THREADS'
|
||||
ENV.delete 'SCRIPT_NAME'
|
||||
ENV.delete 'WATCHDOG_PID'
|
||||
ENV.delete 'WATCHDOG_USEC'
|
||||
ENV.delete 'WEB_CONCURRENCY'
|
||||
|
||||
# Freeze well-known constants
|
||||
ARGV.each(&:freeze).freeze
|
||||
ENV.each_key(&:freeze).each_value(&:freeze) # ENV itself can't be frozen
|
||||
|
||||
# Freeze well-known globals
|
||||
$ARGV&.each(&:freeze).freeze # $ARGV is nil sometimes
|
||||
$LOAD_PATH.each(&:freeze).freeze
|
||||
|
||||
# Non-buffered output
|
||||
$stdout.sync = true
|
||||
$stderr.sync = true
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue