class JetsRails::StageMiddleware
Public Class Methods
new(app)
click to toggle source
# File lib/jets_rails/stage_middleware.rb, line 3 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/jets_rails/stage_middleware.rb, line 7 def call(env) add_stage_name(env) if on_aws?(env) status, headers, body = @app.call(env) [status, headers, body] end
Private Instance Methods
add_stage_name(env)
click to toggle source
Add API Gateway Stage Name
# File lib/jets_rails/stage_middleware.rb, line 15 def add_stage_name(env) # changes links that Rails generates env[Rack::SCRIPT_NAME] = "/#{JetsRails.stage}" end
on_aws?(env)
click to toggle source
# File lib/jets_rails/stage_middleware.rb, line 20 def on_aws?(env) return true if ENV['JETS_ON_AWS'] # for local testing host = env['HTTP_X_FORWARDED_HOST'] # from Jets::Rack::Request#set_headers! host&.include?("amazonaws.com") end