aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-25 22:08:06 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-03-25 22:08:06 +0100
commitb9b61c32f037352500ff4f22cf57b17b06f75340 (patch)
treec438faa130688b6267f0f38d6f530d45d08f6495
parenta2145bef44b3033de2d5beea96034715ffa931bc (diff)
Ensure port is set
-rw-r--r--ws.go13
1 files changed, 11 insertions, 2 deletions
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
}