2017-08-16 2 views
0

Ich benutze Gorilla Websocket. Ist es möglich, auf die HTTP-Anfrage von *websocket.Conn zuzugreifen?Ist es möglich, auf eine HTTP-Anfrage von einer Websocket-Verbindung zuzugreifen?

Ich möchte auf Anfrage-Sitzungen zugreifen, um Benutzer zu identifizieren. Gibt es eine Möglichkeit, dies zu tun, außer ein Token auf Websocket-Registrierung zu generieren und dieses in weiteren Interaktionen zu verwenden?

+0

Denken Sie darüber nach, was eine "Anforderungssitzung" technisch für Server- und Client/Browser-Seite bedeuten könnte und was Sie tun würden, um einen Benutzer zu "identifizieren". Dann wird klar, dass die Antwort nein ist. – Volker

Antwort

1

Mit dem Gorilla Websocket-Paket schreibt die Anwendung einen HTTP-Handler und ruft die upgrader.Upgrade-Methode auf, um eine Verbindung herzustellen. Hier ein Beispiel:

func handler(w http.ResponseWriter, r *http.Request) { 
    conn, err := upgrader.Upgrade(w, r, nil) 
    if err != nil { 
     log.Println(err) 
     return 
    } 
    ... Use conn to send and receive messages. 
} 

Die Anwendung Zugriff auf die *http.Request in der HTTP-Handler-Funktion hat und die Anforderung als normal nutzen kann.

Verwandte Themen