class ZuoraConnect::Middleware::Hallway
Enables requests to be served from dynamic paths, determined by headers
def call(env)
def call(env) dynamic_path = env[UI_PATH].presence || layout_id(env) Thread.current[:isHallway] = dynamic_path if dynamic_path.present? env['SCRIPT_NAME'] = dynamic_path env['PATH_INFO'] = env['PATH_INFO'].sub(dynamic_path, '') end @app.call(env) end
def initialize(app)
def initialize(app) @app = app end
def layout_id(env)
def layout_id(env) "/#{env[LAYOUT_ID]}" if env[LAYOUT_ID].present? end