good morning!!!!

Skip to content
Snippets Groups Projects
Unverified Commit e8f5bc89 authored by Anmol Sethi's avatar Anmol Sethi
Browse files

Add Example_crossOrigin

Closes #194
parent c62c0dcc
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ import (
"context"
"log"
"net/http"
"net/url"
"time"
"nhooyr.io/websocket"
......@@ -115,3 +116,30 @@ func Example_writeOnly() {
err := http.ListenAndServe("localhost:8080", fn)
log.Fatal(err)
}
// This example demonstrates how to safely accept cross origin WebSockets
// from the origin example.com.
func Example_crossOrigin() {
fn := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
origin := r.Header.Get("Origin")
if origin != "" {
u, err := url.Parse(origin)
if err != nil || u.Host != "example.com" {
http.Error(w, "bad origin header", http.StatusForbidden)
return
}
}
c, err := websocket.Accept(w, r, &websocket.AcceptOptions{
InsecureSkipVerify: true,
})
if err != nil {
log.Println(err)
return
}
c.Close(websocket.StatusNormalClosure, "cross origin WebSocket accepted")
})
err := http.ListenAndServe("localhost:8080", fn)
log.Fatal(err)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment