class Falcon::Redirection
def call(request)
def call(request) if endpoint = lookup(request) location = "https://#{request.authority}#{request.path}" return Async::HTTP::Response[301, {'location' => location}, []] else super end end
def initialize(app, hosts)
def initialize(app, hosts) super(app) @hosts = hosts end
def lookup(request)
def lookup(request) # Trailing dot and port is ignored/normalized. if authority = request.authority.sub(/(\.)?(:\d+)?$/, '') return @hosts[authority] end end