21 def __init__(self, url=None, url_data=None, body=None, response_stream=None, timeout=60):
25 self.
_r = pycurl.Curl()
30 self._r.setopt(self._r.CONNECTTIMEOUT, timeout)
31 user_agent =
"User-Agent: ConditionWebServices/1.0 python/%d.%d.%d PycURL/%s" % (sys.version_info[ :3 ] + (pycurl.version_info()[1],))
32 self._r.setopt(self._r.USERAGENT, user_agent)
34 self._r.setopt(self._r.SSL_VERIFYPEER, 0)
35 self._r.setopt(self._r.SSL_VERIFYHOST, 0)
39 if isinstance(body, dict):
40 body = urlencode(body)
41 elif isinstance(body, list):
42 body = json.dumps(body)
44 self._r.setopt(self._r.POSTFIELDS, body)
47 if isinstance(url_data, dict):
48 url_data = urlencode(url_data)
50 exit(
"URL data '%s' for request to URL '%s' was not valid - should be a dictionary." % (
str(url_data), url))
53 self._r.setopt(self._r.URL, url + ((
"?%s" % url_data)
if url_data
else ""))
55 if response_stream
and not isinstance(response_stream, StringIO):
56 response_stream = StringIO()
59 elif not(response_stream):
62 self._r.setopt(self._r.WRITEFUNCTION, self._response.write)
def __init__(self, url=None, url_data=None, body=None, response_stream=None, timeout=60)