From 149226d3f743e800dc6629c81c832b4a2164dd8f Mon Sep 17 00:00:00 2001 From: Mark Blakeney Date: Wed, 8 Nov 2023 08:11:39 +1000 Subject: [PATCH] uaiohttpclient: Fix hard coded port 80. Signed-off-by: Mark Blakeney --- micropython/uaiohttpclient/manifest.py | 2 +- micropython/uaiohttpclient/uaiohttpclient.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/micropython/uaiohttpclient/manifest.py b/micropython/uaiohttpclient/manifest.py index 72dd967..a204d57 100644 --- a/micropython/uaiohttpclient/manifest.py +++ b/micropython/uaiohttpclient/manifest.py @@ -1,4 +1,4 @@ -metadata(description="HTTP client module for MicroPython uasyncio module", version="0.5.1") +metadata(description="HTTP client module for MicroPython uasyncio module", version="0.5.2") # Originally written by Paul Sokolovsky. diff --git a/micropython/uaiohttpclient/uaiohttpclient.py b/micropython/uaiohttpclient/uaiohttpclient.py index 25b2e62..bcda620 100644 --- a/micropython/uaiohttpclient/uaiohttpclient.py +++ b/micropython/uaiohttpclient/uaiohttpclient.py @@ -46,9 +46,16 @@ def request_raw(method, url): except ValueError: proto, dummy, host = url.split("/", 2) path = "" + + if ":" in host: + host, port = host.split(":") + port = int(port) + else: + port = 80 + if proto != "http:": raise ValueError("Unsupported protocol: " + proto) - reader, writer = yield from asyncio.open_connection(host, 80) + reader, writer = yield from asyncio.open_connection(host, port) # Use protocol 1.0, because 1.1 always allows to use chunked transfer-encoding # But explicitly set Connection: close, even though this should be default for 1.0, # because some servers misbehave w/o it.