rename some methods to make them more private
This commit is contained in:
		
							parent
							
								
									effbd27047
								
							
						
					
					
						commit
						e5fcc6a8c8
					
				| 
						 | 
				
			
			@ -59,7 +59,7 @@ class Wormhole:
 | 
			
		|||
        self.key = None
 | 
			
		||||
        self.verifier = None
 | 
			
		||||
 | 
			
		||||
    def url(self, verb, msgnum=None):
 | 
			
		||||
    def _url(self, verb, msgnum=None):
 | 
			
		||||
        url = "%s%d/%s/%s" % (self.relay, self.channel_id, self.side, verb)
 | 
			
		||||
        if msgnum is not None:
 | 
			
		||||
            url += "/" + msgnum
 | 
			
		||||
| 
						 | 
				
			
			@ -87,7 +87,7 @@ class Wormhole:
 | 
			
		|||
        if "error" in welcome:
 | 
			
		||||
            raise ServerError(welcome["error"], self.relay)
 | 
			
		||||
 | 
			
		||||
    def get(self, old_msgs, verb, msgnum):
 | 
			
		||||
    def _get_messages(self, old_msgs, verb, msgnum):
 | 
			
		||||
        # For now, server errors cause the client to fail. TODO: don't. This
 | 
			
		||||
        # will require changing the client to re-post messages when the
 | 
			
		||||
        # server comes back up.
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ class Wormhole:
 | 
			
		|||
            if remaining < 0:
 | 
			
		||||
                raise Timeout
 | 
			
		||||
            #time.sleep(self.wait)
 | 
			
		||||
            f = EventSourceFollower(self.url(verb, msgnum), remaining)
 | 
			
		||||
            f = EventSourceFollower(self._url(verb, msgnum), remaining)
 | 
			
		||||
            for (eventtype, data) in f.iter_events():
 | 
			
		||||
                if eventtype == "welcome":
 | 
			
		||||
                    self.handle_welcome(json.loads(data))
 | 
			
		||||
| 
						 | 
				
			
			@ -172,11 +172,11 @@ class Wormhole:
 | 
			
		|||
    def _get_key(self):
 | 
			
		||||
        if not self.key:
 | 
			
		||||
            post_data = {"message": hexlify(self.msg1).decode("ascii")}
 | 
			
		||||
            r = requests.post(self.url("post", "pake"),
 | 
			
		||||
            r = requests.post(self._url("post", "pake"),
 | 
			
		||||
                              data=json.dumps(post_data))
 | 
			
		||||
            r.raise_for_status()
 | 
			
		||||
            other_msgs = r.json()["messages"]
 | 
			
		||||
            msgs = self.get(other_msgs, "poll", "pake")
 | 
			
		||||
            msgs = self._get_messages(other_msgs, "poll", "pake")
 | 
			
		||||
            pake_msg = unhexlify(msgs[0].encode("ascii"))
 | 
			
		||||
            self.key = self.sp.finish(pake_msg)
 | 
			
		||||
            self.verifier = self.derive_key(self.appid+b":Verifier")
 | 
			
		||||
| 
						 | 
				
			
			@ -224,16 +224,16 @@ class Wormhole:
 | 
			
		|||
 | 
			
		||||
    def _post_data(self, data):
 | 
			
		||||
        post_data = json.dumps({"message": hexlify(data).decode("ascii")})
 | 
			
		||||
        r = requests.post(self.url("post", "data"), data=post_data)
 | 
			
		||||
        r = requests.post(self._url("post", "data"), data=post_data)
 | 
			
		||||
        r.raise_for_status()
 | 
			
		||||
        other_msgs = r.json()["messages"]
 | 
			
		||||
        return other_msgs
 | 
			
		||||
 | 
			
		||||
    def _get_data(self, other_msgs):
 | 
			
		||||
        msgs = self.get(other_msgs, "poll", "data")
 | 
			
		||||
        msgs = self._get_messages(other_msgs, "poll", "data")
 | 
			
		||||
        data = unhexlify(msgs[0].encode("ascii"))
 | 
			
		||||
        return data
 | 
			
		||||
 | 
			
		||||
    def _deallocate(self):
 | 
			
		||||
        r = requests.post(self.url("deallocate"))
 | 
			
		||||
        r = requests.post(self._url("deallocate"))
 | 
			
		||||
        r.raise_for_status()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ class SymmetricWormhole:
 | 
			
		|||
 | 
			
		||||
    def _allocate_channel(self):
 | 
			
		||||
        url = self.relay + "allocate/%s" % self.side
 | 
			
		||||
        d = self.post(url)
 | 
			
		||||
        d = self._post_json(url)
 | 
			
		||||
        def _got_channel(data):
 | 
			
		||||
            if "welcome" in data:
 | 
			
		||||
                self.handle_welcome(data["welcome"])
 | 
			
		||||
| 
						 | 
				
			
			@ -149,13 +149,13 @@ class SymmetricWormhole:
 | 
			
		|||
        if "error" in welcome:
 | 
			
		||||
            raise ServerError(welcome["error"], self.relay)
 | 
			
		||||
 | 
			
		||||
    def url(self, verb, msgnum=None):
 | 
			
		||||
    def _url(self, verb, msgnum=None):
 | 
			
		||||
        url = "%s%d/%s/%s" % (self.relay, self.channel_id, self.side, verb)
 | 
			
		||||
        if msgnum is not None:
 | 
			
		||||
            url += "/" + msgnum
 | 
			
		||||
        return url
 | 
			
		||||
 | 
			
		||||
    def post(self, url, post_json=None):
 | 
			
		||||
    def _post_json(self, url, post_json=None):
 | 
			
		||||
        # TODO: retry on failure, with exponential backoff. We're guarding
 | 
			
		||||
        # against the rendezvous server being temporarily offline.
 | 
			
		||||
        p = None
 | 
			
		||||
| 
						 | 
				
			
			@ -172,7 +172,7 @@ class SymmetricWormhole:
 | 
			
		|||
        d.addCallback(lambda data: json.loads(data))
 | 
			
		||||
        return d
 | 
			
		||||
 | 
			
		||||
    def _get_msgs(self, old_msgs, verb, msgnum):
 | 
			
		||||
    def _get_messages(self, old_msgs, verb, msgnum):
 | 
			
		||||
        # fire with a list of messages that match verb/msgnum, which either
 | 
			
		||||
        # came from old_msgs, or from an EventSource that we attached to the
 | 
			
		||||
        # corresponding URL
 | 
			
		||||
| 
						 | 
				
			
			@ -186,7 +186,7 @@ class SymmetricWormhole:
 | 
			
		|||
            if name == "message":
 | 
			
		||||
                msgs.append(json.loads(data)["message"])
 | 
			
		||||
                d.callback(None)
 | 
			
		||||
        es = ReconnectingEventSource(None, lambda: self.url(verb, msgnum),
 | 
			
		||||
        es = ReconnectingEventSource(None, lambda: self._url(verb, msgnum),
 | 
			
		||||
                                     _handle)#, agent=self.agent)
 | 
			
		||||
        es.startService() # TODO: .setServiceParent(self)
 | 
			
		||||
        es.activate()
 | 
			
		||||
| 
						 | 
				
			
			@ -220,8 +220,8 @@ class SymmetricWormhole:
 | 
			
		|||
        if self.key:
 | 
			
		||||
            return defer.succeed(self.key)
 | 
			
		||||
        data = {"message": hexlify(self.msg1).decode("ascii")}
 | 
			
		||||
        d = self.post(self.url("post", "pake"), data)
 | 
			
		||||
        d.addCallback(lambda j: self._get_msgs(j["messages"], "poll", "pake"))
 | 
			
		||||
        d = self._post_json(self._url("post", "pake"), data)
 | 
			
		||||
        d.addCallback(lambda j: self._get_messages(j["messages"], "poll", "pake"))
 | 
			
		||||
        def _got_pake(msgs):
 | 
			
		||||
            pake_msg = unhexlify(msgs[0].encode("ascii"))
 | 
			
		||||
            key = self.sp.finish(pake_msg)
 | 
			
		||||
| 
						 | 
				
			
			@ -251,8 +251,8 @@ class SymmetricWormhole:
 | 
			
		|||
        data_key = self.derive_key(b"data-key")
 | 
			
		||||
        outbound_encrypted = self._encrypt_data(data_key, outbound_data)
 | 
			
		||||
        data = {"message": hexlify(outbound_encrypted).decode("ascii")}
 | 
			
		||||
        d = self.post(self.url("post", "data"), data)
 | 
			
		||||
        d.addCallback(lambda j: self._get_msgs(j["messages"], "poll", "data"))
 | 
			
		||||
        d = self._post_json(self._url("post", "data"), data)
 | 
			
		||||
        d.addCallback(lambda j: self._get_messages(j["messages"], "poll", "data"))
 | 
			
		||||
        def _got_data(msgs):
 | 
			
		||||
            inbound_encrypted = unhexlify(msgs[0].encode("ascii"))
 | 
			
		||||
            if inbound_encrypted == outbound_encrypted:
 | 
			
		||||
| 
						 | 
				
			
			@ -268,6 +268,6 @@ class SymmetricWormhole:
 | 
			
		|||
 | 
			
		||||
    def _deallocate(self, res):
 | 
			
		||||
        # only try once, no retries
 | 
			
		||||
        d = self.agent.request("POST", self.url("deallocate"))
 | 
			
		||||
        d = self.agent.request("POST", self._url("deallocate"))
 | 
			
		||||
        d.addBoth(lambda _: res) # ignore POST failure, pass-through result
 | 
			
		||||
        return d
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user