interceptClientStream<TRequest, TResponse> method
Future<TResponse>
interceptClientStream<TRequest, TResponse>(
- RpcCallInfo call,
- Stream<
TRequest> requests, - RpcClientStreamNext<
TRequest, TResponse> next
override
Client-stream call interceptor.
Implementation
@override
Future<TResponse> interceptClientStream<TRequest, TResponse>(
RpcCallInfo call,
Stream<TRequest> requests,
RpcClientStreamNext<TRequest, TResponse> next,
) async {
// Charge at establishment, BEFORE the handler runs, so a call that sends no
// request messages is not free — and mark the first message prepaid, so a
// call that does send them costs exactly what it did before.
_check(call);
return next(
call.context,
_meterStream(call, requests, firstIsPrepaid: true),
);
}