Class: Rack::Authenticate::Middleware

Inherits:
Rack::Auth::Basic
  • Object
show all
Defined in:
lib/rack/authenticate/middleware.rb

Defined Under Namespace

Classes: Auth, Configuration

Constant Summary collapse

ACCESS_CONTROL_MAX_AGE =

24 hours

60 * 60 * 24

Instance Method Summary collapse

Constructor Details

#initialize(app) {|@configuration| ... } ⇒ Middleware

Returns a new instance of Middleware.

Yields:

  • (@configuration)


135
136
137
138
139
# File 'lib/rack/authenticate/middleware.rb', line 135

def initialize(app)
  @configuration = Configuration.new
  yield @configuration
  super(app, &@configuration.basic_auth_validation_block)
end

Instance Method Details

#call(env) ⇒ Object



141
142
143
144
145
146
147
148
149
150
# File 'lib/rack/authenticate/middleware.rb', line 141

def call(env)
  auth = Auth.new(env, @configuration)
  return cors_allowances(env) if auth.supported_cors_preflight_request?

  _call(env, auth) { super }.tap do |(status, headers, body)|
    if @configuration.support_cross_origin_resource_sharing? && env.has_key?('HTTP_ORIGIN')
      headers['Access-Control-Allow-Origin'] = env['HTTP_ORIGIN']
    end
  end
end