mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
vweb: implement cookie expiration date (#5873)
This commit is contained in:
parent
8a855ccae1
commit
bb60fe2ccf
@ -60,7 +60,7 @@ pub mut:
|
|||||||
pub struct Cookie {
|
pub struct Cookie {
|
||||||
name string
|
name string
|
||||||
value string
|
value string
|
||||||
exprires time.Time
|
expires time.Time
|
||||||
secure bool
|
secure bool
|
||||||
http_only bool
|
http_only bool
|
||||||
}
|
}
|
||||||
@ -120,9 +120,15 @@ pub fn (mut ctx Context) not_found() Result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut ctx Context) set_cookie(cookie Cookie) {
|
pub fn (mut ctx Context) set_cookie(cookie Cookie) {
|
||||||
secure := if cookie.secure { "Secure;" } else { "" }
|
mut cookie_data := []string{}
|
||||||
http_only := if cookie.http_only { "HttpOnly" } else { "" }
|
mut secure := if cookie.secure { "Secure;" } else { "" }
|
||||||
ctx.add_header('Set-Cookie', '$cookie.name=$cookie.value; $secure $http_only')
|
secure += if cookie.http_only { " HttpOnly" } else { " " }
|
||||||
|
cookie_data << secure
|
||||||
|
if cookie.expires.unix > 0 {
|
||||||
|
cookie_data << 'expires=${cookie.expires.utc_string()}'
|
||||||
|
}
|
||||||
|
data := cookie_data.join(' ')
|
||||||
|
ctx.add_header('Set-Cookie', '$cookie.name=$cookie.value; $data')
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut ctx Context) set_cookie_old(key, val string) {
|
pub fn (mut ctx Context) set_cookie_old(key, val string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user