class Rack::SecureCookies

Constants

REGEXP
VERSION

Public Class Methods

new(app) click to toggle source
# File lib/rack/secure_cookies.rb, line 7
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/rack/secure_cookies.rb, line 11
def call(env)
  request = Rack::Request.new(env)
  status, headers, body = @app.call(env)
  flag_cookies_as_secure!(headers)

  [status, headers, body]
end

Private Instance Methods

flag_cookies_as_secure!(headers) click to toggle source
# File lib/rack/secure_cookies.rb, line 21
def flag_cookies_as_secure!(headers)
  if cookies = headers['Set-Cookie']
    cookies = cookies.split("\n")

    headers['Set-Cookie'] = cookies.map do |cookie|
      if cookie !~ REGEXP
        "#{cookie}; secure"
      else
        cookie
      end
    end.join("\n")
  end
end