code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("namecheap: the configuration of the DNS provider is nil")
  	}
  
  	if config.APIUser == "" || config.APIKey == "" {
  		return nil, fmt.Errorf("namecheap: credentials missing")
  	}
  
  	if len(config.ClientIP) == 0 {
  		clientIP, err := getClientIP(config.HTTPClient, config.Debug)
  		if err != nil {
  			return nil, fmt.Errorf("namecheap: %v", err)
  		}
  		config.ClientIP = clientIP
  	}
  
  	return &DNSProvider{config: config}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for namecheap.