class ServiceWorker::Handlers::WebpackerHandler

Public Instance Methods

call(env) click to toggle source
# File lib/serviceworker/handlers/webpacker_handler.rb, line 9
def call(env)
  path_info = env.fetch("serviceworker.asset_name")

  path = Webpacker.manifest.lookup(path_info)

  if Webpacker.dev_server.running?
    proxy = Webpacker::DevServerProxy.new
    proxy.call(env.merge("PATH_INFO" => path))
  else
    file_server.call(env.merge("PATH_INFO" => path))
  end
end

Private Instance Methods

file_server() click to toggle source
# File lib/serviceworker/handlers/webpacker_handler.rb, line 24
def file_server
  @file_server ||= ::Rack::File.new(::Rails.public_path)
end