15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/rack/bacoo/cookie_attributes_parser.rb', line 15
def self.call(cookie_attributes)
cookie_attributes.each do |pair|
case pair
in [:secure, nil] | [:secure, false]
raise ArgumentError, "secure must be true"
in [:http_only, nil] | [:http_only, false]
raise ArgumentError, "http_only must be true"
in [:httponly, nil] | [:httponly, false]
raise ArgumentError, "httponly must be true"
in [:same_site, nil] | [:same_site, false]
raise ArgumentError, "same_site must be either lax or strict"
in [:same_site, val] if val.to_s.downcase == "none"
raise ArgumentError, "same_site must be either lax or strict"
else
end
end
DEFAULTS.merge(cookie_attributes)
end
|