Class: Assiette::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/assiette/server.rb

Constant Summary collapse

CACHE_CONTROL =
"public, max-age=432000, must-revalidate"

Instance Method Summary collapse

Constructor Details

#initialize(app, handler = nil, root: nil, additional_directory_mappings: {}) ⇒ Server

Accepts either a pre-built handler or keyword args:

Server.new(app, handler)
Server.new(app, root: "...", additional_directory_mappings: {})


12
13
14
15
# File 'lib/assiette/server.rb', line 12

def initialize(app, handler = nil, root: nil, additional_directory_mappings: {})
  @app = app
  @handler = handler || AssetHandler.new(root: root, additional_directory_mappings: additional_directory_mappings)
end

Instance Method Details

#call(env) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/assiette/server.rb', line 17

def call(env)
  stack = (env["assiette.stack"] ||= [])
  stack << {handler: @handler, script_name: env["SCRIPT_NAME"].to_s}

  result = serve(env)
  return result if result

  @app.call(env)
end