Sha256: a82ada4650925fa147a81bb043ed8f980898c40eeec5a0009b609b9f8fa8feda
Contents?: true
Size: 1.06 KB
Versions: 16
Compression:
Stored size: 1.06 KB
Contents
require "rack/proxy" class Webpacker::DevServerProxy < Rack::Proxy delegate :config, :dev_server, to: :@webpacker def initialize(app = nil, opts = {}) @webpacker = opts.delete(:webpacker) || Webpacker.instance super end def rewrite_response(response) _status, headers, _body = response headers.delete "transfer-encoding" headers.delete "content-length" if dev_server.running? && dev_server.https? response end def perform_request(env) if env["PATH_INFO"].start_with?("/#{public_output_uri_path}") && dev_server.running? env["HTTP_HOST"] = env["HTTP_X_FORWARDED_HOST"] = env["HTTP_X_FORWARDED_SERVER"] = dev_server.host_with_port 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 def public_output_uri_path config.public_output_path.relative_path_from(config.public_path) end end
Version data entries
16 entries across 16 versions & 2 rubygems