def connect(self, host, port, scheme='http', timeout=None): if timeout is not None: # this parameter is deprecated self.timeout = None if self.client and not self.client.is_closed(): self.client.close() if scheme == 'http': self.client = Client() elif scheme == 'https': self.client = SSLClient() else: raise HttpException('unsupported url scheme %s' % scheme) self.scheme = scheme self.host = host self.port = port self.client.timeout = self._timeout yield self.client.connect(self.host, self.port)