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