class AnyCable::Middlewares::CheckVersion

the current RPC proto version
Checks that RPC client version is compatible with

def call(_method, _request, meta)

def call(_method, _request, meta)
  check_version(meta) do
    yield
  end
end

def check_version(metadata)

def check_version(metadata)
  supported_versions = metadata["protov"]&.split(",")
  return yield if supported_versions&.include?(version)
  raise "Incompatible AnyCable RPC client.\nCurrent server version: #{version}.\n" \
        "Client supported versions: #{metadata["protov"] || "unknown"}."
end

def initialize(version)

def initialize(version)
  @version = version
end