Class: Itsi::Server::Config::RackupFile

Inherits:
Middleware
  • Object
show all
Defined in:
lib/itsi/server/config/middleware/rackup_file.rb

Instance Method Summary collapse

Methods included from ConfigHelpers

included, load_and_register, #normalize_keys!

Constructor Details

#initialize(location, app, **params) ⇒ RackupFile

Returns a new instance of RackupFile.



23
24
25
26
27
28
# File 'lib/itsi/server/config/middleware/rackup_file.rb', line 23

def initialize(location, app, **params)
  super(location, params)
  raise "Rackup file must be a string" unless app.is_a?(String)

  @app = Itsi::Server::RackInterface.for(app)
end

Instance Method Details

#build!Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/itsi/server/config/middleware/rackup_file.rb', line 30

def build!
  app_args = {
    preloader: -> { @app },
    sendfile: @params[:sendfile],
    nonblocking: @params[:nonblocking],
    script_name: @params[:script_name],
    base_path: "^(?<base_path>#{location.paths_from_parent.gsub(/\.\*\)$/, ")")}).*$"
  }
  location.middleware[:app] = app_args
end