From 8157f3c6ab2aa3d42b9e80c284d324565d7e6871 Mon Sep 17 00:00:00 2001 From: Carlos Esquerdo Bernat Date: Thu, 5 Nov 2020 06:36:50 +0100 Subject: [PATCH] websocket: get port of the uri (#6750) --- vlib/x/websocket/websocket_client.v | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vlib/x/websocket/websocket_client.v b/vlib/x/websocket/websocket_client.v index 6a4702f14f..5ddbfce4d5 100644 --- a/vlib/x/websocket/websocket_client.v +++ b/vlib/x/websocket/websocket_client.v @@ -444,15 +444,21 @@ fn (mut ws Client) send_control_frame(code OPCode, frame_typ string, payload []b } // parse_uri, parses the url string to it's components -// todo: support not using port to default ones fn parse_uri(url string) ?&Uri { u := urllib.parse(url)? v := u.request_uri().split('?') + port := if u.str().starts_with('ws://') { + '80' + } else if u.str().starts_with('wss://') { + '443' + } else { + u.port() + } querystring := if v.len > 1 { '?' + v[1] } else { '' } return &Uri{ url: url hostname: u.hostname() - port: u.port() + port: port resource: v[0] querystring: querystring }