class SiteHub::Builder
Attributes
forward_proxies[R]
reverse_proxies[R]
sitehub[R]
Public Class Methods
new(&block)
click to toggle source
# File lib/sitehub/builder.rb, line 24 def initialize(&block) @reverse_proxies = {} instance_eval(&block) if block end
Public Instance Methods
add_default_middleware()
click to toggle source
# File lib/sitehub/builder.rb, line 40 def add_default_middleware use Middleware::ReverseProxy, reverse_proxies use Middleware::TransactionId use Middleware::ErrorHandling use Middleware::Logging::AccessLogger, access_logger || ::Logger.new(STDOUT) use Middleware::Logging::ErrorLogger, error_logger || ::Logger.new(STDERR) use Rack::FiberPool use Rack::SslEnforcer, except: @ssl_exclusions if @force_ssl end
build()
click to toggle source
# File lib/sitehub/builder.rb, line 33 def build forward_proxies.init add_default_middleware middlewares.reverse! apply_middleware(forward_proxies) end
force_ssl(except: [])
click to toggle source
# File lib/sitehub/builder.rb, line 19 def force_ssl(except: []) @force_ssl = true @ssl_exclusions = except end
proxy(opts = {}, &block)
click to toggle source
# File lib/sitehub/builder.rb, line 50 def proxy(opts = {}, &block) mapped_path, url = *(opts.respond_to?(:to_a) ? opts.to_a : [opts]).flatten forward_proxies.add_proxy(url: url, mapped_path: mapped_path, &block) end
reverse_proxy(hash)
click to toggle source
# File lib/sitehub/builder.rb, line 58 def reverse_proxy(hash) reverse_proxies.merge!(hash) end