mirror of
https://github.com/astaxie/beego.git
synced 2024-11-26 03:21:29 +00:00
fix #166
This commit is contained in:
parent
b114f258d6
commit
769735c207
20
context.go
20
context.go
@ -74,14 +74,24 @@ func (ctx *Context) SetCookie(name string, value string, others ...interface{})
|
|||||||
if len(others) > 0 {
|
if len(others) > 0 {
|
||||||
switch others[0].(type) {
|
switch others[0].(type) {
|
||||||
case int:
|
case int:
|
||||||
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int))
|
if others[0].(int) > 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int))
|
||||||
|
} else if others[0].(int) < 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=0")
|
||||||
|
}
|
||||||
case int64:
|
case int64:
|
||||||
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int64))
|
if others[0].(int64) > 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int64))
|
||||||
|
} else if others[0].(int64) < 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=0")
|
||||||
|
}
|
||||||
case int32:
|
case int32:
|
||||||
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int32))
|
if others[0].(int32) > 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=%d", others[0].(int32))
|
||||||
|
} else if others[0].(int32) < 0 {
|
||||||
|
fmt.Fprintf(&b, "; Max-Age=0")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
fmt.Fprintf(&b, "; Max-Age=0")
|
|
||||||
}
|
}
|
||||||
if len(others) > 1 {
|
if len(others) > 1 {
|
||||||
fmt.Fprintf(&b, "; Path=%s", sanitizeValue(others[1].(string)))
|
fmt.Fprintf(&b, "; Path=%s", sanitizeValue(others[1].(string)))
|
||||||
|
6
flash.go
6
flash.go
@ -54,7 +54,8 @@ func ReadFromRequest(c *Controller) *FlashData {
|
|||||||
Data: make(map[string]string),
|
Data: make(map[string]string),
|
||||||
}
|
}
|
||||||
if cookie, err := c.Ctx.Request.Cookie("BEEGO_FLASH"); err == nil {
|
if cookie, err := c.Ctx.Request.Cookie("BEEGO_FLASH"); err == nil {
|
||||||
vals := strings.Split(cookie.Value, "\x00")
|
v, _ := url.QueryUnescape(cookie.Value)
|
||||||
|
vals := strings.Split(v, "\x00")
|
||||||
for _, v := range vals {
|
for _, v := range vals {
|
||||||
if len(v) > 0 {
|
if len(v) > 0 {
|
||||||
kv := strings.Split(v, ":")
|
kv := strings.Split(v, ":")
|
||||||
@ -64,8 +65,7 @@ func ReadFromRequest(c *Controller) *FlashData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//read one time then delete it
|
//read one time then delete it
|
||||||
cookie.MaxAge = -1
|
c.Ctx.SetCookie("BEEGO_FLASH", "", -1)
|
||||||
c.Ctx.Request.AddCookie(cookie)
|
|
||||||
}
|
}
|
||||||
c.Data["flash"] = flash.Data
|
c.Data["flash"] = flash.Data
|
||||||
return flash
|
return flash
|
||||||
|
Loading…
Reference in New Issue
Block a user