provider/rcode0.go
func (p *RcodeZeroProvider) Records() ([]*endpoint.Endpoint, error) {

	zones, err := p.Zones()
	if err != nil {
		return nil, err
	}

	var endpoints []*endpoint.Endpoint

	for _, zone := range zones {

		rrset, err := p.fetchRecords(zone.Domain)

		if err != nil {
			return nil, err
		}

		for _, r := range rrset {

			if supportedRecordType(r.Type) {

				if p.TXTEncrypt && (p.Key != nil) && strings.EqualFold(r.Type, "TXT") {
					p.Client.RRSet.DecryptTXT(p.Key, r)
				}

				if len(r.Records) > 1 {

					for _, _r := range r.Records {
						if !_r.Disabled {
							endpoints = append(endpoints, endpoint.NewEndpointWithTTL(r.Name, r.Type, endpoint.TTL(r.TTL), _r.Content))
						}
					}

				} else {
					if !r.Records[0].Disabled {
						endpoints = append(endpoints, endpoint.NewEndpointWithTTL(r.Name, r.Type, endpoint.TTL(r.TTL), r.Records[0].Content))
					}
				}

			}
		}
	}

	return endpoints, nil
}
func (p *RcodeZeroProvider) Records() ([]*endpoint.Endpoint, error) {

	zones, err := p.Zones()
	if err != nil {
		return nil, err
	}

	var endpoints []*endpoint.Endpoint

	for _, zone := range zones {

		rrset, err := p.fetchRecords(zone.Domain)

		if err != nil {
			return nil, err
		}

		for _, r := range rrset {

			if supportedRecordType(r.Type) {

				if p.TXTEncrypt && (p.Key != nil) && strings.EqualFold(r.Type, "TXT") {
					p.Client.RRSet.DecryptTXT(p.Key, r)
				}

				if len(r.Records) > 1 {

					for _, _r := range r.Records {
						if !_r.Disabled {
							endpoints = append(endpoints, endpoint.NewEndpointWithTTL(r.Name, r.Type, endpoint.TTL(r.TTL), _r.Content))
						}
					}

				} else {
					if !r.Records[0].Disabled {
						endpoints = append(endpoints, endpoint.NewEndpointWithTTL(r.Name, r.Type, endpoint.TTL(r.TTL), r.Records[0].Content))
					}
				}

			}
		}
	}

	return endpoints, nil
}
// Records returns resource records
//
// Decrypts TXT records if TXT-Encrypt flag is set and key is provided