summaryrefslogtreecommitdiff
path: root/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/gin-contrib/sessions/session_options_go1.11.go')
-rw-r--r--vendor/github.com/gin-contrib/sessions/session_options_go1.11.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go b/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go
new file mode 100644
index 000000000..02b2e5e72
--- /dev/null
+++ b/vendor/github.com/gin-contrib/sessions/session_options_go1.11.go
@@ -0,0 +1,36 @@
+// +build go1.11
+
+package sessions
+
+import (
+ gsessions "github.com/gorilla/sessions"
+ "net/http"
+)
+
+// Options stores configuration for a session or session store.
+// Fields are a subset of http.Cookie fields.
+type Options struct {
+ Path string
+ Domain string
+ // MaxAge=0 means no 'Max-Age' attribute specified.
+ // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'.
+ // MaxAge>0 means Max-Age attribute present and given in seconds.
+ MaxAge int
+ Secure bool
+ HttpOnly bool
+ // rfc-draft to preventing CSRF: https://tools.ietf.org/html/draft-west-first-party-cookies-07
+ // refer: https://godoc.org/net/http
+ // https://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/
+ SameSite http.SameSite
+}
+
+func (options Options) ToGorillaOptions() *gsessions.Options {
+ return &gsessions.Options{
+ Path: options.Path,
+ Domain: options.Domain,
+ MaxAge: options.MaxAge,
+ Secure: options.Secure,
+ HttpOnly: options.HttpOnly,
+ SameSite: options.SameSite,
+ }
+}