class Rack::Handler::Falcon
def self.run(app, **options)
Run the specified app using the given options:
def self.run(app, **options) app = ::Falcon::Adapters::Rack.new(app) app = ::Falcon::Adapters::Rewindable.new(app) Sync do |task| endpoint = endpoint_for(**options) server = ::Falcon::Server.new(app, endpoint, protocol: Async::HTTP::Protocol::HTTP1, scheme: SCHEME) server_task = task.async do server.run.each(&:wait) end wrapper = self.new(server, task) yield wrapper if block_given? server_task.wait ensure server_task.stop wrapper.close end end