From f6ef1104ee62415cca197280014c2f0a21860293 Mon Sep 17 00:00:00 2001 From: Alex Li Date: Sun, 28 Apr 2024 10:15:03 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Do=20not=20parse=20empty=20HTTP?= =?UTF-8?q?=20payload?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electrumx/server/http_session.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/electrumx/server/http_session.py b/electrumx/server/http_session.py index 00f6688c..c2181fee 100644 --- a/electrumx/server/http_session.py +++ b/electrumx/server/http_session.py @@ -113,12 +113,15 @@ def __init__(self, session_mgr, db, mempool, peer_mgr, kind): self.MAX_CHUNK_SIZE = 2016 self.hashX_subs = {} - async def format_params(self, request): + async def format_params(self, request: web.Request): + params: list if request.method == "GET": params = json.loads(request.query.get("params", "[]")) - else: + elif request.content_length: json_data = await request.json() params = json_data.get("params", []) + else: + params = [] return dict(zip(range(len(params)), params)) async def get_rpc_server(self): @@ -860,11 +863,8 @@ async def transaction_broadcast(self, request): # verified async def scripthash_get_history(self, request): '''Return the confirmed and unconfirmed history of a scripthash.''' - try: - params = await self.format_params(request) - scripthash = params.get(0, "") - except Exception as e: - scripthash = request + params = await self.format_params(request) + scripthash = params.get(0) hashX = scripthash_to_hashX(scripthash) return await self.confirmed_and_unconfirmed_history(hashX)