class Namira::Middleware::Header
Creates the final request headers by merging global, defaults, and request headers
Public Class Methods
new(app)
click to toggle source
# File lib/namira/middleware/header.rb, line 6 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
Called by the middleware runner.
@param env [Namira::Env] The request environment
# File lib/namira/middleware/header.rb, line 14 def call(env) headers = Hash(Namira.config.headers.to_h).dup headers.merge!(additional_headers(env)) headers.merge!(env.headers.to_h) env.headers = convert_headers(headers) @app.call(env) end
Private Instance Methods
additional_headers(env)
click to toggle source
# File lib/namira/middleware/header.rb, line 24 def additional_headers(env) { 'User-Agent' => env.config[:user_agent] } end
convert_headers(headers)
click to toggle source
# File lib/namira/middleware/header.rb, line 30 def convert_headers(headers) headers.each_with_object({}) do |(key, value), obj| header = key.to_s.split(/-|_/).map(&:capitalize).join('-') obj[header] = value end end