class Rack::Auth::BasicPath
Public Class Methods
new(app, username, password, *paths)
click to toggle source
# File lib/basic_path.rb, line 7 def initialize(app, username, password, *paths) @app = app @username = username @password = password @path_regex = Regexp.union(paths) end
Public Instance Methods
call(env)
click to toggle source
# File lib/basic_path.rb, line 14 def call(env) return @app.call(env) unless env['PATH_INFO'].match(@path_regex) auth = BasicPath::Request.new(env) return unauthorized unless auth.provided? return bad_request unless auth.basic? if valid?(auth) env['REMOTE_USER'] = auth.username return @app.call(env) end unauthorized end
Private Instance Methods
challenge()
click to toggle source
# File lib/basic_path.rb, line 34 def challenge 'Basic realm="%s"' % realm end
valid?(auth)
click to toggle source
# File lib/basic_path.rb, line 38 def valid?(auth) [@username, @password] == auth.credentials end