• Yasuhiro Matsumoto's avatar
    http/cgi: clean up environment. · 048ec758
    Yasuhiro Matsumoto authored
    clean up duplicate environment for CGI.
    overriding former by latter.
    On windows, When there are duplicated environments like following,
    
    SCRIPT_FILENAME=c:/progra~1/php/php-cgi.exe
    SCRIPT_FILENAME=/foo.php
    
    CreateProcess use first entry.
    
    If make cgi.Handle like following,
    
            cgih = cgi.Handler{
                    Path: "c:/strawberry/perl/bin/perl.exe",
                    Dir:  "c:/path/to/webroot",
                    Root: "c:/path/to/webroot",
                    Args: []string{"foo.php"},
                    Env:  []string{"SCRIPT_FILENAME=foo.php"},
            }
    
    http/cgi should behave "SCRIPT_FILENAME is foo.php".
    But currently, http/cgi is set duplicate environment entries.
    So, browser show binary dump of "php-cgi.exe" that is specified indented
    SCRIPT_FILENAME in first entry.
    This change clean up duplicates, and use latters.
    
    R=golang-dev, bradfitz, bradfitz
    CC=golang-dev
    https://golang.org/cl/5010044
    048ec758
Name
Last commit
Last update
..
cgi Loading commit data...
fcgi Loading commit data...
httptest Loading commit data...
pprof Loading commit data...
spdy Loading commit data...
testdata Loading commit data...
Makefile Loading commit data...
chunked.go Loading commit data...
client.go Loading commit data...
client_test.go Loading commit data...
cookie.go Loading commit data...
cookie_test.go Loading commit data...
dump.go Loading commit data...
export_test.go Loading commit data...
filetransport.go Loading commit data...
filetransport_test.go Loading commit data...
fs.go Loading commit data...
fs_test.go Loading commit data...
header.go Loading commit data...
header_test.go Loading commit data...
lex.go Loading commit data...
lex_test.go Loading commit data...
persist.go Loading commit data...
proxy_test.go Loading commit data...
range_test.go Loading commit data...
readrequest_test.go Loading commit data...
request.go Loading commit data...
request_test.go Loading commit data...
requestwrite_test.go Loading commit data...
response.go Loading commit data...
response_test.go Loading commit data...
responsewrite_test.go Loading commit data...
reverseproxy.go Loading commit data...
reverseproxy_test.go Loading commit data...
serve_test.go Loading commit data...
server.go Loading commit data...
sniff.go Loading commit data...
sniff_test.go Loading commit data...
status.go Loading commit data...
transfer.go Loading commit data...
transport.go Loading commit data...
transport_test.go Loading commit data...
triv.go Loading commit data...