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
}
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 , " " ) { 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
Records returns resource records Decrypts TXT records if TXT - Encrypt flag is set and key is provided