Skip to content

Commit 1bed69c

Browse files
authored
Merge pull request hoisie#203 from hoisie/simplify-base64
Simplify base64 encoding logic in SetSecureCookie
2 parents ae6bbd0 + 955fd94 commit 1bed69c

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

web.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,20 +127,14 @@ func getCookieSig(key string, val []byte, timestamp string) string {
127127
}
128128

129129
func (ctx *Context) SetSecureCookie(name string, val string, age int64) {
130-
//base64 encode the val
131130
if len(ctx.Server.Config.CookieSecret) == 0 {
132131
ctx.Server.Logger.Println("Secret Key for secure cookies has not been set. Please assign a cookie secret to web.Config.CookieSecret.")
133132
return
134133
}
135-
var buf bytes.Buffer
136-
encoder := base64.NewEncoder(base64.StdEncoding, &buf)
137-
encoder.Write([]byte(val))
138-
encoder.Close()
139-
vs := buf.String()
140-
vb := buf.Bytes()
134+
encoded := base64.StdEncoding.EncodeToString([]byte(val))
141135
timestamp := strconv.FormatInt(time.Now().Unix(), 10)
142-
sig := getCookieSig(ctx.Server.Config.CookieSecret, vb, timestamp)
143-
cookie := strings.Join([]string{vs, timestamp, sig}, "|")
136+
sig := getCookieSig(ctx.Server.Config.CookieSecret, []byte(encoded), timestamp)
137+
cookie := strings.Join([]string{encoded, timestamp, sig}, "|")
144138
ctx.SetCookie(NewCookie(name, cookie, age))
145139
}
146140

0 commit comments

Comments
 (0)