Class: Diesel::Middleware::Auth::APIKey

Inherits:
Object
  • Object
show all
Defined in:
lib/diesel/middleware/auth/api_key.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options) ⇒ APIKey

Returns a new instance of APIKey.



6
7
8
9
10
11
12
# File 'lib/diesel/middleware/auth/api_key.rb', line 6

def initialize(app, options)
  @app = app
  @id = options[:id]
  @in = options[:in]
  @name = options[:name]
  @format = options[:format]
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/diesel/middleware/auth/api_key.rb', line 14

def call(env)
  context = env[:context]
  value = format_value(context.options[@id])
  if @in == :header
    env[:request_headers][@name] = value
  elsif @in == :query
    env[:params][@name] = value
  elsif @in == :body
    env[:body] = if body = env[:body]
      body.merge(@name => value)
    else
      { @name => value }
    end
  end
  @app.call(env)
end