class Webpacker::Pwa::DevServerProxy
Public Class Methods
new(app = nil, opts = {})
click to toggle source
Calls superclass method
# File lib/webpacker/pwa/dev_server_proxy.rb, line 7 def initialize(app = nil, opts = {}) @webpacker = opts.delete(:webpacker) || Webpacker.instance opts[:streaming] = false if Rails.env.test? && !opts.key?(:streaming) super end
Public Instance Methods
perform_request(env)
click to toggle source
Calls superclass method
# File lib/webpacker/pwa/dev_server_proxy.rb, line 13 def perform_request(env) service_workers_entry_path = dev_server.config.send(:fetch, :service_workers_entry_path) return unless service_workers_entry_path.present? service_workers_folder = dev_server.config.source_path.join(service_workers_entry_path) service_workers = Dir[service_workers_folder.join('*')].map { |e| "/#{File.basename(e)}" } if (service_workers.include?(env["PATH_INFO"])) && dev_server.running? env["HTTP_HOST"] = env["HTTP_X_FORWARDED_HOST"] = dev_server.host env["HTTP_X_FORWARDED_SERVER"] = dev_server.host_with_port env["HTTP_PORT"] = env["HTTP_X_FORWARDED_PORT"] = dev_server.port.to_s env["HTTP_X_FORWARDED_PROTO"] = env["HTTP_X_FORWARDED_SCHEME"] = dev_server.protocol unless dev_server.https? env["HTTPS"] = env["HTTP_X_FORWARDED_SSL"] = "off" end env["SCRIPT_NAME"] = "" super(env) else @app.call(env) end end
Private Instance Methods
config()
click to toggle source
# File lib/webpacker/pwa/dev_server_proxy.rb, line 36 def config @webpacker.config end
dev_server()
click to toggle source
# File lib/webpacker/pwa/dev_server_proxy.rb, line 40 def dev_server @webpacker.dev_server end