Browse Source

Use aiohttp session correctly when reading blacklist

patch-2
Neil Booth 6 years ago
parent
commit
5e161b1a25
  1. 14
      electrumx/server/peers.py

14
electrumx/server/peers.py

@ -138,16 +138,20 @@ class PeerManager(object):
url = self.env.blacklist_url
if not url:
return
async def read_blacklist():
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
text = await response.text()
return set(entry.lower() for entry in json.loads(text))
while True:
session = aiohttp.ClientSession()
try:
async with session.get(url) as response:
r = await response.text()
self.blacklist = set([entry.lower() for entry in json.loads(r)])
self.logger.info(f'blacklist from {url} has {len(self.blacklist)} entries')
self.blacklist = await read_blacklist()
except Exception as e:
self.logger.error(f'could not retrieve blacklist from {url}: {e}')
else:
self.logger.info(f'blacklist from {url} has {len(self.blacklist)} entries')
# Got new blacklist. Now check our current peers against it
for peer in self.peers:
if self._is_blacklisted(peer):

Loading…
Cancel
Save