MCPcopy Index your code
hub / github.com/cloudflare/cloudflared / websocketHandler

Function websocketHandler

hello/hello.go:161–188  ·  view source on GitHub ↗

This handler will echo message

(log *zerolog.Logger, upgrader websocket.Upgrader)

Source from the content-addressed store, hash-verified

159
160// This handler will echo message
161func websocketHandler(log *zerolog.Logger, upgrader websocket.Upgrader) http.HandlerFunc {
162 return func(w http.ResponseWriter, r *http.Request) {
163 // This addresses the issue of r.Host includes port but origin header doesn't
164 host, _, err := net.SplitHostPort(r.Host)
165 if err == nil {
166 r.Host = host
167 }
168
169 conn, err := upgrader.Upgrade(w, r, nil)
170 if err != nil {
171 log.Err(err).Msg("failed to upgrade to websocket connection")
172 return
173 }
174 defer conn.Close()
175 for {
176 mt, message, err := conn.ReadMessage()
177 if err != nil {
178 log.Err(err).Msg("websocket read message error")
179 break
180 }
181
182 if err := conn.WriteMessage(mt, message); err != nil {
183 log.Err(err).Msg("websocket write message error")
184 break
185 }
186 }
187 }
188}
189
190func sseHandler(log *zerolog.Logger) http.HandlerFunc {
191 return func(w http.ResponseWriter, r *http.Request) {

Callers 1

StartHelloWorldServerFunction · 0.85

Calls 2

CloseMethod · 0.65
ErrMethod · 0.45

Tested by

no test coverage detected