aboutsummaryrefslogtreecommitdiffhomepage
path: root/http/cookie/cookie.go
diff options
context:
space:
mode:
Diffstat (limited to 'http/cookie/cookie.go')
-rw-r--r--http/cookie/cookie.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/http/cookie/cookie.go b/http/cookie/cookie.go
index d1f3e72..4407daa 100644
--- a/http/cookie/cookie.go
+++ b/http/cookie/cookie.go
@@ -19,11 +19,11 @@ const (
)
// New creates a new cookie.
-func New(name, value string, isHTTPS bool) *http.Cookie {
+func New(name, value string, isHTTPS bool, path string) *http.Cookie {
return &http.Cookie{
Name: name,
Value: value,
- Path: "/",
+ Path: basePath(path),
Secure: isHTTPS,
HttpOnly: true,
Expires: time.Now().Add(cookieDuration * 24 * time.Hour),
@@ -31,14 +31,21 @@ func New(name, value string, isHTTPS bool) *http.Cookie {
}
// Expired returns an expired cookie.
-func Expired(name string, isHTTPS bool) *http.Cookie {
+func Expired(name string, isHTTPS bool, path string) *http.Cookie {
return &http.Cookie{
Name: name,
Value: "",
- Path: "/",
+ Path: basePath(path),
Secure: isHTTPS,
HttpOnly: true,
MaxAge: -1,
Expires: time.Date(1970, 1, 1, 0, 0, 0, 0, time.UTC),
}
}
+
+func basePath(path string) string {
+ if path == "" {
+ return "/"
+ }
+ return path
+}