defmodule GRPC.ServerInterceptor do @moduledoc """ Interceptor on server side. See `GRPC.Endpoint`. """ @moduledoc deprecated: "Use `GRPC.Server.Interceptor` instead" alias GRPC.Server.Stream @type options :: any() @type rpc_return :: {:ok, Stream.t(), struct()} | {:ok, Stream.t()} | {:error, GRPC.RPCError.t()} @type next :: (GRPC.Server.rpc_req(), Stream.t() -> rpc_return()) @callback init(options) :: options @callback call(GRPC.Server.rpc_req(), stream :: Stream.t(), next, options) :: rpc_return end defmodule GRPC.Server.Interceptor do @moduledoc """ Interceptor on server side. See `GRPC.Endpoint`. """ alias GRPC.Server.Stream @type options :: any() @type rpc_return :: {:ok, Stream.t(), struct()} | {:ok, Stream.t()} | {:error, GRPC.RPCError.t()} @type next :: (GRPC.Server.rpc_req(), Stream.t() -> rpc_return()) @callback init(options) :: options @callback call(GRPC.Server.rpc_req(), stream :: Stream.t(), next, options) :: rpc_return end