Moved function to generate sessions Ids from websocket to Utils

This commit is contained in:
claudemiro
2015-01-16 13:18:24 -03:00
parent a51629f7b5
commit 1dc3105155
2 changed files with 14 additions and 14 deletions
+13
View File
@@ -6,7 +6,9 @@ package utils
import ( import (
"crypto/hmac" "crypto/hmac"
"crypto/rand"
"crypto/sha256" "crypto/sha256"
"encoding/base32"
"encoding/hex" "encoding/hex"
) )
@@ -18,3 +20,14 @@ func HashMAC(message, key []byte) string {
return hex.EncodeToString(expected) return hex.EncodeToString(expected)
} }
// Generate a new random Hash
func RandomHash() string {
b := make([]byte, 25)
if _, err := rand.Read(b); err != nil {
panic("websockets: Could not generate a random session ID")
}
return base32.StdEncoding.EncodeToString(b)
}
+1 -14
View File
@@ -5,8 +5,6 @@
package main package main
import ( import (
"crypto/rand"
"encoding/base32"
"encoding/json" "encoding/json"
"fmt" "fmt"
"io" "io"
@@ -225,7 +223,7 @@ func Websocket(w http.ResponseWriter, r *http.Request) {
return return
} }
sessionID := randomSessionID() sessionID := utils.RandomHash()
if err := onOpen(conn, w, r, sessionID, app); err != nil { if err := onOpen(conn, w, r, sessionID, app); err != nil {
emitWSError(err, conn) emitWSError(err, conn)
@@ -235,17 +233,6 @@ func Websocket(w http.ResponseWriter, r *http.Request) {
onMessage(conn, w, r, sessionID, app) onMessage(conn, w, r, sessionID, app)
} }
// Generate a new random sessionID
func randomSessionID() string {
b := make([]byte, 25)
if _, err := rand.Read(b); err != nil {
panic("websockets: Could not generate a random session ID")
}
return base32.StdEncoding.EncodeToString(b)
}
// Emit an Websocket ErrorEvent // Emit an Websocket ErrorEvent
func emitWSError(err WebsocketError, conn *websocket.Conn) { func emitWSError(err WebsocketError, conn *websocket.Conn) {