1d9ccec685959904acb4fb60d83151589864b495
[feedcatcher.git] / vendor / rails / actionpack / lib / action_controller / vendor / rack-1.0 / rack / auth / abstract / request.rb
1 module Rack
2 module Auth
3 class AbstractRequest
4
5 def initialize(env)
6 @env = env
7 end
8
9 def provided?
10 !authorization_key.nil?
11 end
12
13 def parts
14 @parts ||= @env[authorization_key].split(' ', 2)
15 end
16
17 def scheme
18 @scheme ||= parts.first.downcase.to_sym
19 end
20
21 def params
22 @params ||= parts.last
23 end
24
25
26 private
27
28 AUTHORIZATION_KEYS = ['HTTP_AUTHORIZATION', 'X-HTTP_AUTHORIZATION', 'X_HTTP_AUTHORIZATION']
29
30 def authorization_key
31 @authorization_key ||= AUTHORIZATION_KEYS.detect { |key| @env.has_key?(key) }
32 end
33
34 end
35
36 end
37 end