mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
FIX: Don't use backticks that take in inputs.
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
require 'cache'
|
||||
require 'open3'
|
||||
require_dependency 'plugin/instance'
|
||||
require_dependency 'auth/default_current_user_provider'
|
||||
require_dependency 'version'
|
||||
@ -16,6 +17,23 @@ module Discourse
|
||||
extend Sidekiq::ExceptionHandler
|
||||
end
|
||||
|
||||
class Utils
|
||||
def self.execute_command(*command, failure_message: "")
|
||||
stdout, stderr, status = Open3.capture3(*command)
|
||||
|
||||
if !status.success?
|
||||
failure_message = "#{failure_message}\n" if !failure_message.blank?
|
||||
raise "#{failure_message}#{stderr}"
|
||||
end
|
||||
|
||||
stdout
|
||||
end
|
||||
|
||||
def self.pretty_logs(logs)
|
||||
logs.join("\n".freeze)
|
||||
end
|
||||
end
|
||||
|
||||
# Log an exception.
|
||||
#
|
||||
# If your code is in a scheduled job, it is recommended to use the
|
||||
|
Reference in New Issue
Block a user