Sha256: fe876f51e4234e00cd84a7923698d1246c815c50b9191d447f11a3947cea704b
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
# frozen_string_literal: true require 'rails-reverse-proxy' module Quilt module ReactRenderable include ReverseProxy::Controller def render_react url = "#{Quilt.configuration.react_server_protocol}://#{Quilt.configuration.react_server_host}" ReactRenderable.log("[ReactRenderable] proxying to React server at #{url}") begin reverse_proxy(url, headers: { 'X-CSRF-Token': form_authenticity_token }) do |callbacks| callbacks.on_response do |status_code, _response| ReactRenderable.log("[ReactRenderable] #{url} returned #{status_code}") end end rescue Errno::ECONNREFUSED raise ReactServerNoResponseError, url end end def self.log(string) if Rails.logger.nil? puts string else Rails.logger.info(string) end end class ReactServerNoResponseError < StandardError def initialize(url) # rubocop:disable LineLength super "Errno::ECONNREFUSED: Waiting for React server to boot up. If this error presists verify that @shopify/react-server is configured on #{url}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quilt_rails-1.4.0 | lib/quilt_rails/react_renderable.rb |