tests/get-with-headers.py
author Christian Ebert <blacktrash@gmx.net>
Wed, 23 Dec 2009 12:04:04 +0000
changeset 667 52b03aad673b
parent 567 fd52c78e1aa7
child 717 43efa35c5eed
permissions -rwxr-xr-x
Do not monkeypatch diff when in restricted mode kw_diff actually disabled restricted mode when 2 revisions were given, because it effectively disables the extension in this case. But the commands working with diff and patch need restricted mode always enabled, i.e. expansion enabled when writing to the working directory and - crucial for these commands - no expansion when reading the filelog.

#!/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()
data = re.sub('\d+ years', 'many years', data)
sys.stdout.write(data)

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