1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-22 23:00:50 +00:00

refactor max age cookies setting

This commit is contained in:
JessonChan 2015-11-10 11:47:10 +08:00
parent 8f42193610
commit 83ec39d02e

View File

@ -80,25 +80,21 @@ func (output *BeegoOutput) Cookie(name string, value string, others ...interface
//fix cookie not work in IE
if len(others) > 0 {
var maxAge int64
switch v := others[0].(type) {
case int:
if v > 0 {
fmt.Fprintf(&b, "; Expires=%s; Max-Age=%d", time.Now().Add(time.Duration(v)*time.Second).UTC().Format(time.RFC1123), v)
} else if v <= 0 {
fmt.Fprintf(&b, "; Max-Age=0")
}
case int64:
if v > 0 {
fmt.Fprintf(&b, "; Expires=%s; Max-Age=%d", time.Now().Add(time.Duration(v)*time.Second).UTC().Format(time.RFC1123), v)
} else if v <= 0 {
fmt.Fprintf(&b, "; Max-Age=0")
}
maxAge = int64(v)
case int32:
if v > 0 {
fmt.Fprintf(&b, "; Expires=%s; Max-Age=%d", time.Now().Add(time.Duration(v)*time.Second).UTC().Format(time.RFC1123), v)
} else if v <= 0 {
fmt.Fprintf(&b, "; Max-Age=0")
}
maxAge = int64(v)
case int64:
maxAge = v
}
if maxAge > 0 {
fmt.Fprintf(&b, "; Expires=%s; Max-Age=%d", time.Now().Add(time.Duration(maxAge)*time.Second).UTC().Format(time.RFC1123), maxAge)
} else if maxAge <= 0 {
fmt.Fprintf(&b, "; Max-Age=0")
}
}