tests/get-with-headers.py
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Mon, 16 Oct 2006 15:38:53 -0300
changeset 3415 ec6f400cff4d
parent 2532 84655f721f39
permissions -rwxr-xr-x
Use a case-sensitive version of SafeConfigParser everywhere This change has the potential to break existing setups, but the current behaviour (the keys in configuration files are always lower-cased) can bite us in a few places: - no way to use a Command in [defaults] - hgext.Extension doesn't work in [extensions] - you can't use an Upper/case/PATH in the [paths] section of hgweb.config - you can't (easily) protect paths with upper-case letters with the acl extension - you can't specify a /Path/TO/a/rEPO in the [reposubs] section for the notify extension

#!/usr/bin/env python

__doc__ = """This does HTTP get requests given a host:port and path and returns
a subset of the headers plus the body of the result."""

import httplib, sys
headers = [h.lower() for h in sys.argv[3:]]
conn = httplib.HTTPConnection(sys.argv[1])
conn.request("GET", sys.argv[2])
response = conn.getresponse()
print response.status, response.reason
for h in headers:
    if response.getheader(h, None) is not None:
        print "%s: %s" % (h, response.getheader(h))
print
sys.stdout.write(response.read())