fixed bytes encoding on getdata endpoint

master
Kevin Froman 2019-09-11 16:50:09 -05:00
parent 4fbfd89b12
commit 2ba42ba145
2 changed files with 3 additions and 1 deletions

View File

@ -64,6 +64,7 @@ def download_blocks_from_communicator(comm_inst):
if not comm_inst.shutdown and peerUsed.strip() != '': if not comm_inst.shutdown and peerUsed.strip() != '':
logger.info("Attempting to download %s from %s..." % (blockHash[:12], peerUsed)) logger.info("Attempting to download %s from %s..." % (blockHash[:12], peerUsed))
content = peeraction.peer_action(comm_inst, peerUsed, 'getdata/' + blockHash, max_resp_size=3000000) # block content from random peer (includes metadata) content = peeraction.peer_action(comm_inst, peerUsed, 'getdata/' + blockHash, max_resp_size=3000000) # block content from random peer (includes metadata)
if content != False and len(content) > 0: if content != False and len(content) > 0:
try: try:
content = content.encode() content = content.encode()

View File

@ -47,6 +47,7 @@ def get_block_data(publicAPI, data):
try: try:
block = block.encode() # Encode in case data is binary block = block.encode() # Encode in case data is binary
except AttributeError: except AttributeError:
if len(block) == 0:
abort(404) abort(404)
block = bytesconverter.str_to_bytes(block) block = bytesconverter.str_to_bytes(block)
resp = block resp = block