Example #1
0
	def _ssl_query(self, path, postdata=None, headers=None):
		t = time.time()

		if self.ssltimeout<>None and self.ssltimeout<t:
			self._ssl_close()
		if self.sslsocket==None:
			self._ssl_connect()

		if headers==None:
			headers=[]
		headers.append('Connection: Keep-Alive')
		rh,v = HTTPS.do_http_query(self.sslsocket, self.sslhost, path, postdata, headers=headers)

		closeit = True
		kaparams = {}
		for h in rh:
			if h=='Connection: Keep-Alive':
				closeit = False
			elif h.startswith('Keep-Alive:'):
				x,y = h.split(':',1)
				kaps = y.strip().split(',')
				for kaparam in kaps:
					x,y = kaparam.split('=',1)
					kaparams[x.strip()] = y.strip()
		if closeit:
			self._ssl_close()
			self.ssltimeout = None
		elif kaparams.get('timeout'):
			self.ssltimeout = t+float(kaparams['timeout'])
		return rh,v