(w http.ResponseWriter, r *http.Request)
| 111 | } |
| 112 | |
| 113 | func serveWs(w http.ResponseWriter, r *http.Request) { |
| 114 | ws, err := upgrader.Upgrade(w, r, nil) |
| 115 | if err != nil { |
| 116 | if _, ok := err.(websocket.HandshakeError); !ok { |
| 117 | log.Println(err) |
| 118 | } |
| 119 | return |
| 120 | } |
| 121 | |
| 122 | var lastMod time.Time |
| 123 | if n, err := strconv.ParseInt(r.FormValue("lastMod"), 16, 64); err == nil { |
| 124 | lastMod = time.Unix(0, n) |
| 125 | } |
| 126 | |
| 127 | go writer(ws, lastMod) |
| 128 | reader(ws) |
| 129 | } |
| 130 | |
| 131 | func serveHome(w http.ResponseWriter, r *http.Request) { |
| 132 | if r.URL.Path != "/" { |