Strengthen --daemon_url checks using yarl.URL (what aiohttp uses).

This commit is contained in:
Jonathan Moody 2022-08-17 16:50:44 -04:00
parent 93850d72eb
commit 1750548452

View file

@ -4,6 +4,7 @@ import typing
from typing import List from typing import List
from hashlib import sha256 from hashlib import sha256
from decimal import Decimal from decimal import Decimal
from yarl import URL
from hub.schema.base58 import Base58 from hub.schema.base58 import Base58
from hub.schema.bip32 import PublicKey from hub.schema.bip32 import PublicKey
from hub.common import hash160, hash_to_hex_str, double_sha256 from hub.common import hash160, hash_to_hex_str, double_sha256
@ -72,6 +73,9 @@ class LBCMainNet:
url += f':{cls.RPC_PORT:d}' url += f':{cls.RPC_PORT:d}'
if not url.startswith('http://') and not url.startswith('https://'): if not url.startswith('http://') and not url.startswith('https://'):
url = 'http://' + url url = 'http://' + url
obj = URL(url)
if not obj.user or not obj.password:
raise CoinError(f'unparseable <user>:<pass> in daemon URL: "{url}"')
return url + '/' return url + '/'
@classmethod @classmethod