class GrpcKit::Interceptors::Client::Streaming
Public Class Methods
new(interceptors)
click to toggle source
@param interceptors [Array<GrpcKit::Grpc::ClientInterceptor>]
# File lib/grpc_kit/interceptors.rb, line 10 def initialize(interceptors) @registry = GrpcKit::InterceptorRegistry.new(interceptors) end
Public Instance Methods
intercept(call, metadata, &block)
click to toggle source
@param metadata [Hash<String,String>]
# File lib/grpc_kit/interceptors.rb, line 15 def intercept(call, metadata, &block) do_intercept(@registry.build, call, metadata, &block) end
Private Instance Methods
do_intercept(interceptors, call, metadata) { |call, metadata| ... }
click to toggle source
# File lib/grpc_kit/interceptors.rb, line 21 def do_intercept(interceptors, call, metadata) if interceptors.empty? return yield(call, metadata) end interceptor = interceptors.pop invoke(interceptor, call, metadata) do |inter_call, meta| do_intercept(interceptors, inter_call, meta) do |c, m| yield(c, m) end end end