From b8ac085e6de456c971e41aaf125bee3f5f201c15 Mon Sep 17 00:00:00 2001 From: Alfred Morgan Date: Sun, 29 Sep 2024 00:18:56 -0700 Subject: [PATCH] Use scheme from lastURL if missing scheme When a Location: header has a url that has a relative scheme (Location: //example.com/) the resulting scheme can default to the same scheme being used from lastURL. --- lib/pure/httpclient.nim | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 08ea99627c1cf..3efc79bbc94b3 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -538,6 +538,8 @@ proc getNewLocation(lastURL: Uri, headers: HttpHeaders): Uri = result.anchor = parsedLocation.anchor else: result = parsedLocation + if result.scheme == "": + result.scheme = lastURL.scheme proc generateHeaders(requestUrl: Uri, httpMethod: HttpMethod, headers: HttpHeaders, proxy: Proxy): string =