Files
EdgeAPI/internal/dnsclients/provider_base.go

44 lines
813 B
Go
Raw Normal View History

package dnsclients
import (
2023-08-11 16:13:33 +08:00
"fmt"
2024-07-27 14:15:25 +08:00
"github.com/TeaOSLab/EdgeAPI/internal/dnsclients/dnstypes"
)
type BaseProvider struct {
minTTL int32
}
// WrapError 封装解析相关错误
func (this *BaseProvider) WrapError(err error, domain string, record *dnstypes.Record) error {
if err == nil {
return nil
}
if record == nil {
return err
}
2023-08-08 16:46:17 +08:00
var fullname string
if len(record.Name) == 0 {
fullname = domain
} else {
fullname = record.Name + "." + domain
}
2023-08-11 16:13:33 +08:00
return fmt.Errorf("record operation failed: '%s %s %s %d': %w", fullname, record.Type, record.Value, record.TTL, err)
}
// SetMinTTL 设置最小TTL
func (this *BaseProvider) SetMinTTL(ttl int32) {
this.minTTL = ttl
}
// MinTTL 最小TTL
func (this *BaseProvider) MinTTL() int32 {
if this.minTTL > 0 {
return this.minTTL
}
return 0
}