tests/get-with-headers.py
author Patrick Mezard <pmezard@gmail.com>
Mon, 16 May 2011 21:52:28 +0200
branchstable
changeset 945 83e828101e3c
parent 717 43efa35c5eed
child 1051 5b75af0ca224
permissions -rwxr-xr-x
run-tests: use the common test path on Windows and Java The alternate one did not run in the test directory and controlling the jobs execution with threads instead of process made it harder to fix. [ original upstream message ]

#!/usr/bin/env python

"""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, re

try:
    import msvcrt, os
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
    msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
    pass

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
data = response.read()
sys.stdout.write(data)

if 200 <= response.status <= 299:
    sys.exit(0)
sys.exit(1)