Skip to content

Commit cdcd413

Browse files
authored
fixed http://self authority (#108)
Signed-off-by: Suhas Thalanki <suhastvs@gmail.com>
1 parent 45e3d00 commit cdcd413

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

src/spin_sdk/http/__init__.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,14 @@ async def send_async(request: Request) -> Response:
155155
url_parsed = parse.urlparse(request.uri)
156156

157157
match url_parsed.scheme:
158-
case "http":
159-
scheme: Scheme = Scheme_Http()
160-
case "https":
161-
scheme = Scheme_Https()
162-
case _:
163-
scheme = Scheme_Other(url_parsed.scheme)
158+
case "http":
159+
scheme: Scheme = Scheme_Http()
160+
case "https":
161+
scheme = Scheme_Https()
162+
case "":
163+
scheme = Scheme_Http()
164+
case _:
165+
scheme = Scheme_Other(url_parsed.scheme)
164166

165167
if request.headers.get('content-length') is None:
166168
content_length = len(request.body) if request.body is not None else 0
@@ -174,7 +176,16 @@ async def send_async(request: Request) -> Response:
174176
outgoing_request = OutgoingRequest(Fields.from_list(headers))
175177
outgoing_request.set_method(method)
176178
outgoing_request.set_scheme(scheme)
177-
outgoing_request.set_authority(url_parsed.netloc)
179+
if url_parsed.netloc == '':
180+
if scheme == "http":
181+
authority = ":80"
182+
else:
183+
authority = ":443"
184+
else:
185+
authority = url_parsed.netloc
186+
187+
outgoing_request.set_authority(authority)
188+
178189
path_and_query = url_parsed.path
179190
if url_parsed.query:
180191
path_and_query += '?' + url_parsed.query

0 commit comments

Comments
 (0)