def connectionMade(self): # s.f.remote is either path or full url if it is proxy connection parsed = urlparse.urlparse(self.factory.remote) self._params = self.factory.params.copy() del self._params['SET'] host = parsed.netloc # hostname:port login = self.factory.login password = self.factory.password parsed_list = list(parsed) # TODO: this should be handled carefully: we have to merge remote's # params, not overwrite parsed_list[4] = Wms.wmsBuildQuery(self._params) self.sendCommand('GET', urlparse.urlunparse(parsed_list)) self.sendHeader('Host', host) self.sendHeader('User-Agent', SERVER_AGENT) if login and password: b64str = base64.encodestring(login+':'+password)[:-1] self.sendHeader('Authorization', 'Basic ' + b64str) self.endHeaders() self.factory.connectionMade()