From b9b61c32f037352500ff4f22cf57b17b06f75340 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 25 Mar 2016 22:08:06 +0100 Subject: Ensure port is set --- ws.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'ws.go') diff --git a/ws.go b/ws.go index ef6a76e..a5c5d2f 100644 --- a/ws.go +++ b/ws.go @@ -2,7 +2,6 @@ package main import ( "io" - "log" "net" "net/http" "net/url" @@ -29,6 +28,16 @@ func (p *WebSocketProxy) ServeHTTP(w http.ResponseWriter, r *http.Request) { p.Director(r) + _, port, err := net.SplitHostPort(r.URL.Host) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + if port == "" { + r.URL.Host += ":http" + } + d, err := net.Dial("tcp", r.URL.Host) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) @@ -38,7 +47,7 @@ func (p *WebSocketProxy) ServeHTTP(w http.ResponseWriter, r *http.Request) { err = r.Write(d) if err != nil { - log.Println(err) + http.Error(w, err.Error(), http.StatusInternalServerError) return } -- cgit v1.2.3