diff options
author | Jeremy Evans <[email protected]> | 2019-08-26 21:41:27 -0700 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2019-11-30 17:48:15 +0900 |
commit | c75100d00401c32b3245ce8da5b8a045976216ca (patch) | |
tree | 6f7d753792c8971922672e99ede844d5b4af879a /lib/webrick/httpservlet | |
parent | f7cf5416e471cd34153058952063da3457468e58 (diff) |
[ruby/webrick] Allow WEBrick::HTTPServlet::CGIHandler :CGIInterpreter option to be array
This way you don't need to escape each entry.
Implements Ruby Feature 15170.
https://github.com/ruby/webrick/commit/d8086e600c
Diffstat (limited to 'lib/webrick/httpservlet')
-rw-r--r-- | lib/webrick/httpservlet/cgihandler.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/webrick/httpservlet/cgihandler.rb b/lib/webrick/httpservlet/cgihandler.rb index 981f649750..4457770b7a 100644 --- a/lib/webrick/httpservlet/cgihandler.rb +++ b/lib/webrick/httpservlet/cgihandler.rb @@ -28,6 +28,7 @@ module WEBrick class CGIHandler < AbstractServlet Ruby = RbConfig.ruby # :nodoc: CGIRunner = "\"#{Ruby}\" \"#{WEBrick::Config::LIBDIR}/httpservlet/cgi_runner.rb\"" # :nodoc: + CGIRunnerArray = [Ruby, "#{WEBrick::Config::LIBDIR}/httpservlet/cgi_runner.rb".freeze].freeze # :nodoc: ## # Creates a new CGI script servlet for the script at +name+ @@ -36,7 +37,12 @@ module WEBrick super(server, name) @script_filename = name @tempdir = server[:TempDir] - @cgicmd = "#{CGIRunner} #{server[:CGIInterpreter]}" + interpreter = server[:CGIInterpreter] + if interpreter.is_a?(Array) + @cgicmd = CGIRunnerArray + interpreter + else + @cgicmd = "#{CGIRunner} #{interpreter}" + end end # :stopdoc: |