92
92
:param externa_url: External URL for transport
93
93
:return: Boolean indicating whether transport is backed onto hg
95
from breezy.transport.http import Request
95
96
url = external_url.rstrip("/") + "?pairs=%s-%s&cmd=between" % ("0" * 40, "0" * 40)
96
from breezy.transport.http._urllib import HttpTransport_urllib, Request
97
if isinstance(transport, HttpTransport_urllib):
98
req = Request('GET', url, accepted_errors=[200, 403, 404, 405])
99
req.follow_redirections = True
100
resp = transport._perform(req)
103
headers = resp.headers
106
from breezy.transport.http._pycurl import PyCurlTransport
107
except errors.DependencyNotPresent:
111
from cStringIO import StringIO
112
if isinstance(transport, PyCurlTransport):
113
conn = transport._get_curl()
114
conn.setopt(pycurl.URL, url)
115
transport._set_curl_options(conn)
116
conn.setopt(pycurl.HTTPGET, 1)
119
conn.setopt(pycurl.FOLLOWLOCATION, 1)
120
conn.setopt(pycurl.HEADERFUNCTION, header.write)
121
conn.setopt(pycurl.WRITEFUNCTION, data.write)
122
transport._curl_perform(conn, header)
123
code = conn.getinfo(pycurl.HTTP_CODE)
126
headers = transport._parse_headers(header)
97
req = Request('GET', url, accepted_errors=[200, 403, 404, 405])
98
req.follow_redirections = True
99
resp = transport._perform(req)
102
headers = resp.headers
129
103
ct = headers.getheader("Content-Type")