summaryrefslogtreecommitdiffstats
path: root/Lib/http/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/http/server.py')
-rw-r--r--Lib/http/server.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/Lib/http/server.py b/Lib/http/server.py
index c9cfe9b..1e640fa 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -1071,16 +1071,16 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
else:
# Non-Unix -- use subprocess
import subprocess
- cmdline = scriptfile
+ cmdline = [scriptfile]
if self.is_python(scriptfile):
interp = sys.executable
if interp.lower().endswith("w.exe"):
# On Windows, use python.exe, not pythonw.exe
interp = interp[:-5] + interp[-4:]
- cmdline = "%s -u %s" % (interp, cmdline)
- if '=' not in query and '"' not in query:
- cmdline = '%s "%s"' % (cmdline, query)
- self.log_message("command: %s", cmdline)
+ cmdline = [interp, '-u'] + cmdline
+ if '=' not in query:
+ cmdline.append(query)
+ self.log_message("command: %s", subprocess.list2cmdline(cmdline))
try:
nbytes = int(length)
except (TypeError, ValueError):
@@ -1088,7 +1088,7 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
p = subprocess.Popen(cmdline,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.PIPE
)
if self.command.lower() == "post" and nbytes > 0:
data = self.rfile.read(nbytes)