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