Simplifying get_nodes_via_rest - it doesn't need to look at which client its using anymore.

pull/730/head
jMyles 2019-02-05 16:51:12 -07:00
parent efae9e2cfd
commit 5066b732ab
2 changed files with 10 additions and 20 deletions

View File

@ -171,11 +171,9 @@ class RestMiddleware:
return response.content
def get_nodes_via_rest(self,
url,
certificate_filepath,
node,
announce_nodes=None,
nodes_i_need=None,
client=requests,
fleet_checksum=None):
if nodes_i_need:
# TODO: This needs to actually do something.
@ -188,21 +186,16 @@ class RestMiddleware:
else:
params = {}
req_kwargs = {}
if client is requests:
req_kwargs["verify"] = certificate_filepath
req_kwargs["timeout"] = 2
req_kwargs["params"] = params
else:
req_kwargs["query_string"] = params
if announce_nodes:
payload = bytes().join(bytes(VariableLengthBytestring(n)) for n in announce_nodes)
response = client.post("https://{}/node_metadata".format(url),
data=payload,
**req_kwargs)
response = self.client.post(node=node,
path="node_metadata",
params=params,
data=payload,
)
else:
response = client.get("https://{}/node_metadata".format(url), **req_kwargs)
response = self.client.get(node=node,
path="node_metadata",
params=params)
return response

View File

@ -673,8 +673,6 @@ class Learner:
self.log.warn("Can't learn right now: {}".format(e.args[0]))
return
teacher_uri = current_teacher.rest_interface
if Teacher in self.__class__.__bases__:
announce_nodes = [self]
else:
@ -685,10 +683,9 @@ class Learner:
# TODO: Streamline path generation
certificate_filepath = self.node_storage.generate_certificate_filepath(
checksum_address=current_teacher.checksum_public_address)
response = self.network_middleware.get_nodes_via_rest(url=teacher_uri,
response = self.network_middleware.get_nodes_via_rest(node=current_teacher,
nodes_i_need=self._node_ids_to_learn_about_immediately,
announce_nodes=announce_nodes,
certificate_filepath=certificate_filepath,
fleet_checksum=self.known_nodes.checksum)
except requests.exceptions.ConnectionError as e:
unresponsive_nodes.add(current_teacher)