gitlab.com/gitlab-org/labkit@v1.21.0/correlation/grpc/client_interceptors_options.go (about)

     1  package grpccorrelation
     2  
     3  // The configuration for InjectCorrelationID.
     4  type clientInterceptConfig struct {
     5  	clientName string
     6  }
     7  
     8  // ClientCorrelationInterceptorOption configures client correlation interceptors.
     9  type ClientCorrelationInterceptorOption func(*clientInterceptConfig)
    10  
    11  func applyClientCorrelationInterceptorOptions(opts []ClientCorrelationInterceptorOption) clientInterceptConfig {
    12  	config := clientInterceptConfig{}
    13  	for _, v := range opts {
    14  		v(&config)
    15  	}
    16  
    17  	return config
    18  }
    19  
    20  // WithClientName will configure the client name metadata on the
    21  // GRPC client interceptors.
    22  func WithClientName(clientName string) ClientCorrelationInterceptorOption {
    23  	return func(config *clientInterceptConfig) {
    24  		config.clientName = clientName
    25  	}
    26  }