mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 19:00:54 +00:00
refactor max age cookies setting
This commit is contained in:
parent
8f42193610
commit
83ec39d02e
@ -80,25 +80,21 @@ func (output *BeegoOutput) Cookie(name string, value string, others ...interface
|
|||||||
|
|
||||||
//fix cookie not work in IE
|
//fix cookie not work in IE
|
||||||
if len(others) > 0 {
|
if len(others) > 0 {
|
||||||
|
var maxAge int64
|
||||||
|
|
||||||
switch v := others[0].(type) {
|
switch v := others[0].(type) {
|
||||||
case int:
|
case int:
|
||||||
if v > 0 {
|
maxAge = int64(v)
|
||||||
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")
|
|
||||||
}
|
|
||||||
case int32:
|
case int32:
|
||||||
if v > 0 {
|
maxAge = int64(v)
|
||||||
fmt.Fprintf(&b, "; Expires=%s; Max-Age=%d", time.Now().Add(time.Duration(v)*time.Second).UTC().Format(time.RFC1123), v)
|
case int64:
|
||||||
} else if v <= 0 {
|
maxAge = v
|
||||||
fmt.Fprintf(&b, "; Max-Age=0")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user