1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-04 21:10:54 +00:00

Merge pull request #1103 from ElvizLai/patch-1

Update output.go
This commit is contained in:
astaxie 2015-04-02 13:35:08 +08:00
commit d02e32fa51

View File

@ -29,6 +29,7 @@ import (
"path/filepath" "path/filepath"
"strconv" "strconv"
"strings" "strings"
"time"
) )
// BeegoOutput does work for sending response header. // BeegoOutput does work for sending response header.
@ -98,28 +99,30 @@ 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))
if len(others) > 0 {
switch v := others[0].(type) { //fix cookie not work in IE
case int: if len(others) > 0 {
if v > 0 { switch v := others[0].(type) {
fmt.Fprintf(&b, "; Max-Age=%d", v) case int:
} else if v < 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=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 {
case int64: fmt.Fprintf(&b, "; Max-Age=0")
if v > 0 { }
fmt.Fprintf(&b, "; Max-Age=%d", v) case int64:
} else if v < 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=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 {
case int32: fmt.Fprintf(&b, "; Max-Age=0")
if v > 0 { }
fmt.Fprintf(&b, "; Max-Age=%d", v) case int32:
} else if v < 0 { if v > 0 {
fmt.Fprintf(&b, "; Max-Age=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")
} }
}
}
// the settings below // the settings below
// Path, Domain, Secure, HttpOnly // Path, Domain, Secure, HttpOnly