diff options
author | Frédéric Guillot <fred@miniflux.net> | 2018-01-02 22:04:48 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-01-02 22:04:48 -0800 |
commit | 320d1b016747ba4501da9417d9ce5f99368a5768 (patch) | |
tree | 1054d96afde6022951b76cc4a09b78e1e3f05058 /http/cookie | |
parent | c39f2e1a8d2de6d412bcc673d29eb0f7a2d1f5f7 (diff) |
Refactor packages to have more idiomatic code base
Diffstat (limited to 'http/cookie')
-rw-r--r-- | http/cookie/cookie.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/http/cookie/cookie.go b/http/cookie/cookie.go new file mode 100644 index 0000000..d1f3e72 --- /dev/null +++ b/http/cookie/cookie.go @@ -0,0 +1,44 @@ +// Copyright 2017 Frédéric Guillot. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package cookie + +import ( + "net/http" + "time" +) + +// Cookie names. +const ( + CookieSessionID = "sessionID" + CookieUserSessionID = "userSessionID" + + // Cookie duration in days. + cookieDuration = 30 +) + +// New creates a new cookie. +func New(name, value string, isHTTPS bool) *http.Cookie { + return &http.Cookie{ + Name: name, + Value: value, + Path: "/", + Secure: isHTTPS, + HttpOnly: true, + Expires: time.Now().Add(cookieDuration * 24 * time.Hour), + } +} + +// Expired returns an expired cookie. +func Expired(name string, isHTTPS bool) *http.Cookie { + return &http.Cookie{ + Name: name, + Value: "", + Path: "/", + Secure: isHTTPS, + HttpOnly: true, + MaxAge: -1, + Expires: time.Date(1970, 1, 1, 0, 0, 0, 0, time.UTC), + } +} |