author | Bryan O'Sullivan <bos@serpentine.com> |
Wed, 28 Nov 2007 08:38:42 -0800 | |
branch | stable |
changeset 514 | 06b69a53ab0f |
parent 513 | 90b51a0fe1f0 |
child 515 | 9ea5ac3258b6 |
permissions | -rwxr-xr-x |
513
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
1 |
#!/usr/bin/env python |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
2 |
|
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
3 |
__doc__ = """This does HTTP get requests given a host:port and path and returns |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
4 |
a subset of the headers plus the body of the result.""" |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
5 |
|
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
6 |
import httplib, sys |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
7 |
headers = [h.lower() for h in sys.argv[3:]] |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
8 |
conn = httplib.HTTPConnection(sys.argv[1]) |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
9 |
conn.request("GET", sys.argv[2]) |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
10 |
response = conn.getresponse() |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
11 |
print response.status, response.reason |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
12 |
for h in headers: |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
13 |
if response.getheader(h, None) is not None: |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
14 |
print "%s: %s" % (h, response.getheader(h)) |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
15 |
print |
90b51a0fe1f0
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
16 |
sys.stdout.write(response.read()) |
514
06b69a53ab0f
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
513
diff
changeset
|
17 |
|
06b69a53ab0f
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
513
diff
changeset
|
18 |
if 200 <= response.status <= 299: |
06b69a53ab0f
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
513
diff
changeset
|
19 |
sys.exit(0) |
06b69a53ab0f
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
513
diff
changeset
|
20 |
sys.exit(1) |