Sha256: f381cf28f761f630a80ebcd416e696c885f23c93c6f19fe00a94fc0d345f9c82

Contents?: true

Size: 896 Bytes

Versions: 2

Compression:

Stored size: 896 Bytes

Contents

require 'rack/auth/basic'
require 'rack/auth/abstract/handler'
require 'rack/auth/abstract/request'

module Blaggard
  class Auth < Rack::Auth::Basic
    def call(env)
      @env = env
      @request = Rack::Request.new(env)
      @auth = Request.new(env)

      if not @auth.provided?
        unauthorized
      elsif not @auth.basic?
        bad_request
      else
        result = if (access = valid? and access == true)
                   @env['REMOTE_USER'] = @auth.username
                   @app.call(env)
                 else
                   if access == '404'
                     render_not_found
                   elsif access == '403'
                     render_no_access
                   else
                     unauthorized
                   end
                 end
        result
      end
    end# method call

    def valid?
      false
    end
  end# class Auth
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
blaggard-1.0.1 lib/blaggard/auth.rb
blaggard-1.0.0 lib/blaggard/auth.rb