summaryrefslogtreecommitdiff
path: root/app/helpers/cookies_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/cookies_helper.rb')
-rw-r--r--app/helpers/cookies_helper.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/helpers/cookies_helper.rb b/app/helpers/cookies_helper.rb
index 3a7e9987190..938379818de 100644
--- a/app/helpers/cookies_helper.rb
+++ b/app/helpers/cookies_helper.rb
@@ -1,9 +1,19 @@
# frozen_string_literal: true
module CookiesHelper
- def set_secure_cookie(key, value, httponly: false, permanent: false)
- cookie_jar = permanent ? cookies.permanent : cookies
+ COOKIE_TYPE_PERMANENT = :permanent
+ COOKIE_TYPE_ENCRYPTED = :encrypted
- cookie_jar[key] = { value: value, secure: Gitlab.config.gitlab.https, httponly: httponly }
+ def set_secure_cookie(key, value, httponly: false, expires: nil, type: nil)
+ cookie_jar = case type
+ when COOKIE_TYPE_PERMANENT
+ cookies.permanent
+ when COOKIE_TYPE_ENCRYPTED
+ cookies.encrypted
+ else
+ cookies
+ end
+
+ cookie_jar[key] = { value: value, secure: Gitlab.config.gitlab.https, httponly: httponly, expires: expires }
end
end