code: func NewBindingInspector(mutualTLS bool, extractTLSCertHash CertHashExtractor) BindingInspector {
  	if extractTLSCertHash == nil {
  		panic(errors.New("extractTLSCertHash parameter is nil"))
  	}
  	inspectMessage := mutualTLSBinding
  	if !mutualTLS {
  		inspectMessage = noopBinding
  	}
  	return func(ctx context.Context, msg proto.Message) error {
  		if msg == nil {
  			return errors.New("message is nil")
  		}
  		return inspectMessage(ctx, extractTLSCertHash(msg))
  	}
  }
docs: // NewBindingInspector returns a BindingInspector according to whether
  // mutualTLS is configured or not, and according to a function that extracts
  // TLS certificate hashes from proto messages