mastodon/lib/vite/proxy.rb

26 lines
586 B
Ruby

# frozen_string_literal: true
require 'rack/proxy'
module Vite
# Simple proxy that redirects asset requests to the running Vite dev server
class Proxy < Rack::Proxy
attr_reader :config, :dev_server
def initialize(app, config:, dev_server:, **)
@config = config
@dev_server = dev_server
super(app, backend: config.backend, ssl_verify_none: !config.https?, **)
end
def perform_request(env)
if dev_server.running? && env['PATH_INFO'].start_with?(config.base_path)
super
else
@app.call(env)
end
end
end
end