class Datadog::AppSec::Instrumentation::Gateway
def push(name, env, &block)
def push(name, env, &block) block ||= -> {} middlewares_for_name = middlewares[name] return [block.call, nil] if middlewares_for_name.empty? wrapped = lambda do |_env| [block.call, nil] end # TODO: handle exceptions, except for wrapped stack = middlewares_for_name.reverse.reduce(wrapped) do |next_, middleware| lambda do |env_| middleware.call(next_, env_) end end stack.call(env) end