class Webpack::DevServer::Proxy

Public Instance Methods

perform_request(env) click to toggle source
Calls superclass method
# File lib/webpack/dev_server/proxy.rb, line 8
def perform_request(env)
  if proxy?(env)
    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
    env["HTTPS"] = env["HTTP_X_FORWARDED_SSL"] = "off" unless dev_server.https?
    env["PATH_INFO"] = env["PATH_INFO"].gsub(/^#{proxy_path}/, "/")

    super(env)
  else
    @app.call(env)
  end
end

Protected Instance Methods

config() click to toggle source
# File lib/webpack/dev_server/proxy.rb, line 23
def config
  ::Webpack::DevServer.config
end
dev_server() click to toggle source
# File lib/webpack/dev_server/proxy.rb, line 27
def dev_server
  ::Webpack::DevServer.process
end
proxy?(env) click to toggle source
# File lib/webpack/dev_server/proxy.rb, line 35
def proxy?(env)
  !proxy_path.empty? && env["PATH_INFO"].start_with?(proxy_path)
end
proxy_path() click to toggle source
# File lib/webpack/dev_server/proxy.rb, line 31
def proxy_path
  config.proxy_path || ""
end