class Falcon::Server

A server listening on a specific endpoint, hosting a specific middleware.

Public Class Methods

middleware(rack_app, verbose: false, cache: true) click to toggle source

Wrap a rack application into a middleware suitable the server. @parameter rack_app [Proc | Object] A rack application/middleware. @parameter verbose [Boolean] Whether to add the {Verbose} middleware. @parameter cache [Boolean] Whether to add the {Async::HTTP::Cache} middleware.

# File lib/falcon/server.rb, line 42
def self.middleware(rack_app, verbose: false, cache: true)
        ::Protocol::HTTP::Middleware.build do
                if verbose
                        use Middleware::Verbose
                end
                
                if cache
                        use Async::HTTP::Cache::General
                end
                
                use ::Protocol::HTTP::ContentEncoding
                use Adapters::Rewindable
                use Adapters::Rack
                
                run rack_app
        end
end