Sha256: 67f05348f37da6301504e5ce6d6ad3cfcda9f8bdade1d42c971c49851c1b8333

Contents?: true

Size: 505 Bytes

Versions: 2

Compression:

Stored size: 505 Bytes

Contents

# frozen_string_literal: true

require "grpc"

module AnyCable
  # Middleware is a wrapper over gRPC interceptors
  # for request/response calls
  class Middleware < GRPC::Interceptor
    def request_response(request: nil, call: nil, method: nil)
      # Call middlewares only for AnyCable service
      return yield unless method.receiver.is_a?(AnyCable::RPCHandler)

      call(request, call, method) do
        yield
      end
    end

    def call(*)
      raise NotImplementedError
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
anycable-1.0.0.preview2 lib/anycable/middleware.rb
anycable-1.0.0.preview1 lib/anycable/middleware.rb