view tests/get-with-headers.py @ 4012:d1e31d7f7d44

fix handling of multiple Content-type headers This can happen if an error happens while sending application/mercurial-0.1 content. The error page will be sent resulting (for at least lighttpd) in the following headers: Content-type: application/mercurial-0.1 Content-type: text/html which result in req.proto = 'application/mercurial-0.1, text/html' fix issue344
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Fri, 29 Dec 2006 05:27:48 +0100
parents 84655f721f39
children 22713dce19f6
line wrap: on
line source

#!/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())