Module: SiteHub::Middleware

Included in:
Builder, ForwardProxyBuilder
Defined in:
lib/sitehub/middleware.rb,
lib/sitehub/middleware/reverse_proxy.rb,
lib/sitehub/middleware/error_handling.rb,
lib/sitehub/middleware/transaction_id.rb,
lib/sitehub/middleware/forward_proxies.rb,
lib/sitehub/middleware/logging/log_entry.rb,
lib/sitehub/middleware/logging/log_stash.rb,
lib/sitehub/middleware/logging/log_wrapper.rb,
lib/sitehub/middleware/logging/request_log.rb,
lib/sitehub/middleware/logging/error_logger.rb,
lib/sitehub/middleware/logging/access_logger.rb

Defined Under Namespace

Modules: Logging Classes: ErrorHandling, ForwardProxies, ReverseProxy, TransactionId

Instance Method Summary collapse

Instance Method Details

#apply_middleware(forward_proxy) ⇒ Object



24
25
26
27
28
29
# File 'lib/sitehub/middleware.rb', line 24

def apply_middleware(forward_proxy)
  middlewares.reverse.inject(forward_proxy) do |app, middleware_def|
    middleware, args, block = *middleware_def
    middleware.new(app, *args, &(block || proc {}))
  end
end

#middleware?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/sitehub/middleware.rb', line 16

def middleware?
  !middlewares.empty?
end

#middlewaresObject



12
13
14
# File 'lib/sitehub/middleware.rb', line 12

def middlewares
  @middleware ||= []
end

#use(middleware_clazz, *args, &block) ⇒ Object



20
21
22
# File 'lib/sitehub/middleware.rb', line 20

def use(middleware_clazz, *args, &block)
  middlewares << [middleware_clazz, args, block]
end