summaryrefslogtreecommitdiff
path: root/lib/webrick
diff options
context:
space:
mode:
Diffstat (limited to 'lib/webrick')
-rw-r--r--lib/webrick/httpservlet/cgihandler.rb8
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: