class Volt::DefaultMiddlewareStack
Public Class Methods
postboot_setup(volt_app, rack_app)
click to toggle source
Setup the middleware that we need to wait for components to boot before we can set them up.
# File lib/volt/server/middleware/default_middleware_stack.rb, line 44 def self.postboot_setup(volt_app, rack_app) # Serve the opal files opal_files = OpalFiles.new(rack_app, volt_app.app_url, volt_app.app_path, volt_app.component_paths) volt_app.opal_files = opal_files volt_app.sprockets = opal_files.environment Volt::SprocketsHelpersSetup.new(volt_app) # Serve the main html files from public, also figure out # which JS/CSS files to serve. rack_app.use IndexFiles, volt_app, volt_app.component_paths, opal_files rack_app.use HttpResource, volt_app, volt_app.router # serve assets from public rack_app.use Rack::Static, urls: [''], root: 'public', index: 'index.html', header_rules: [ [:all, { 'Cache-Control' => 'public, max-age=86400' }] ] rack_app.run lambda { |env| [404, { 'Content-Type' => 'text/html; charset=utf-8' }, ['404 - page not found']] } end
preboot_setup(volt_app, rack_app)
click to toggle source
Setup on the middleware we can setup before booting components
# File lib/volt/server/middleware/default_middleware_stack.rb, line 16 def self.preboot_setup(volt_app, rack_app) # Should only be used in production if Volt.config.deflate rack_app.use Rack::Deflater rack_app.use Rack::Chunked end rack_app.use Rack::ContentLength rack_app.use Rack::KeepAlive rack_app.use Rack::ConditionalGet rack_app.use Rack::ETag rack_app.use Rack::Session::Cookie, { key: 'rack.session', # domain: 'localhost.com', path: '/', expire_after: 2592000, secret: Volt.config.app_secret } rack_app.use QuietCommonLogger if Volt.env.development? || Volt.env.test? rack_app.use Rack::ShowExceptions end end