code: func PayloadStreamServerInterceptor(logger *zap.Logger, decider grpc_logging.ServerPayloadLoggingDecider) grpc.StreamServerInterceptor {
  	return func(srv interface{}, stream grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
  		if !decider(stream.Context(), info.FullMethod, srv) {
  			return handler(srv, stream)
  		}
  		logEntry := logger.With(append(serverCallFields(info.FullMethod), ctxzap.TagsToFields(stream.Context())...)...)
  		newStream := &loggingServerStream{ServerStream: stream, logger: logEntry}
  		return handler(srv, newStream)
  	}
  }
docs: // PayloadStreamServerInterceptor returns a new server server interceptors that logs the payloads of requests.
  //
  // This *only* works when placed *after* the `grpc_zap.StreamServerInterceptor`. However, the logging can be done to a
  // separate instance of the logger.