From 11566c710dd6e9deab7982b028eade5c1ce5be6f Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Thu, 5 Jul 2018 14:31:47 -0700 Subject: [PATCH] fix bug in relay which couldn't handle regular http requests --- src/server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server.go b/src/server.go index 261f78a3..9186042e 100644 --- a/src/server.go +++ b/src/server.go @@ -28,6 +28,11 @@ func (c *Croc) startServer() (err error) { // incoming websocket request log.Debugf("connecting remote addr: %+v", r.RemoteAddr) ws, err := upgrader.Upgrade(w, r, nil) + if err != nil { + log.Debugf("err in websocket: %s", err.Error()) + fmt.Fprintf(w, "?") + return + } address := r.RemoteAddr if _, ok := r.Header["X-Forwarded-For"]; ok { address = r.Header["X-Forwarded-For"][0] @@ -35,6 +40,8 @@ func (c *Croc) startServer() (err error) { if _, ok := r.Header["X-Real-Ip"]; ok { address = r.Header["X-Real-Ip"][0] } + log.Debugf("ws address: %s", ws.RemoteAddr().String()) + log.Debug("getting lock") c.rs.Lock() c.rs.ips[ws.RemoteAddr().String()] = address c.rs.Unlock()