Commit bb5351bb authored by Yongzheng Lai's avatar Yongzheng Lai Committed by astaxie

Update output.go

fix cookie not work in IE
parent 26130a5d
...@@ -98,23 +98,25 @@ func (output *BeegoOutput) Body(content []byte) { ...@@ -98,23 +98,25 @@ func (output *BeegoOutput) Body(content []byte) {
func (output *BeegoOutput) Cookie(name string, value string, others ...interface{}) { func (output *BeegoOutput) Cookie(name string, value string, others ...interface{}) {
var b bytes.Buffer var b bytes.Buffer
fmt.Fprintf(&b, "%s=%s", sanitizeName(name), sanitizeValue(value)) fmt.Fprintf(&b, "%s=%s", sanitizeName(name), sanitizeValue(value))
//fix cookie not work in IE
if len(others) > 0 { if len(others) > 0 {
switch v := others[0].(type) { switch v := others[0].(type) {
case int: case int:
if v > 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=%d", 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 { } else if v < 0 {
fmt.Fprintf(&b, "; Max-Age=0") fmt.Fprintf(&b, "; Max-Age=0")
} }
case int64: case int64:
if v > 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=%d", 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 { } else if v < 0 {
fmt.Fprintf(&b, "; Max-Age=0") fmt.Fprintf(&b, "; Max-Age=0")
} }
case int32: case int32:
if v > 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=%d", 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 { } else if v < 0 {
fmt.Fprintf(&b, "; Max-Age=0") fmt.Fprintf(&b, "; Max-Age=0")
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment