Mercurial > hg
view tests/get-with-headers.py @ 7069:852f39691a0a
Eliminate normpath from foldmap calls.
Normcase already takes care of upper/lower case and /->\ conversions.
What's left for normpath is folding of a/../a sequences but this should
be either done consistently on both non-folding and folding code path
or not at all, otherwise we are introducing inconsistent behavior between the
two that has nothing to do with case folding.
Second argument against it - normpath being pure Python function is very slow -
as much as 50% of time is spend just inside normpath call on my repository.
author | Petr Kodl <petrkodl@gmail.com> |
---|---|
date | Tue, 30 Sep 2008 17:23:08 -0400 |
parents | e837f2294643 |
children | c5e37dc38a52 |
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 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 sys.stdout.write(response.read()) if 200 <= response.status <= 299: sys.exit(0) sys.exit(1)