Stabilized driver API
This commit is contained in:
@ -8,7 +8,7 @@ import (
|
||||
"net/http"
|
||||
"sync"
|
||||
|
||||
dns "git.uoc.run.place/OxFF/dns-manager"
|
||||
dns "git.jolbec.icu/OxFF/dns-manager"
|
||||
)
|
||||
|
||||
const API_BASE_URL = "https://api.dnsexit.com/dns/"
|
||||
@ -34,7 +34,7 @@ type dnsexitDTO struct {
|
||||
Delete *dns.Record `json:"delete,omitempty"`
|
||||
}
|
||||
|
||||
func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
func (c *client) AddRecord(rec *dns.Record) (*dns.Response, error) {
|
||||
c.Locker.Lock()
|
||||
defer c.Locker.Unlock()
|
||||
|
||||
@ -45,7 +45,7 @@ func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
fmt.Println(string(request_body))
|
||||
@ -57,19 +57,19 @@ func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, &dns.Response{Message: string(body)}
|
||||
return &dns.Response{Message: string(body)}, nil
|
||||
}
|
||||
|
||||
func (c *client) DeleteRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
func (c *client) DeleteRecord(rec *dns.Record) (*dns.Response, error) {
|
||||
c.Locker.Lock()
|
||||
defer c.Locker.Unlock()
|
||||
|
||||
@ -79,7 +79,7 @@ func (c *client) DeleteRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
Delete: rec,
|
||||
})
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp, err := http.Post(
|
||||
@ -89,19 +89,19 @@ func (c *client) DeleteRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, &dns.Response{Message: string(body)}
|
||||
return &dns.Response{Message: string(body)}, nil
|
||||
}
|
||||
|
||||
func (c *client) UpdateRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
func (c *client) UpdateRecord(rec *dns.Record) (*dns.Response, error) {
|
||||
c.Locker.Lock()
|
||||
defer c.Locker.Unlock()
|
||||
|
||||
@ -112,7 +112,7 @@ func (c *client) UpdateRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp, err := http.Post(
|
||||
@ -122,19 +122,19 @@ func (c *client) UpdateRecord(rec *dns.Record) (error, *dns.Response) {
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, &dns.Response{Message: string(body)}
|
||||
return &dns.Response{Message: string(body)}, nil
|
||||
}
|
||||
|
||||
func (c *client) GetRecords() (error, *[]dns.Record) {
|
||||
func (c *client) GetRecords() (*[]dns.Record, error) {
|
||||
var subdomains = NewRecordSet()
|
||||
var wg sync.WaitGroup
|
||||
|
||||
@ -143,7 +143,7 @@ func (c *client) GetRecords() (error, *[]dns.Record) {
|
||||
|
||||
err, nameservers := c.getNSRecods()
|
||||
if err != nil {
|
||||
return err, nil
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, ns := range *nameservers {
|
||||
@ -172,7 +172,7 @@ func (c *client) GetRecords() (error, *[]dns.Record) {
|
||||
select {
|
||||
case records, ok := <-result_chan:
|
||||
if !ok {
|
||||
return nil, subdomains.List()
|
||||
return subdomains.List(), nil
|
||||
}
|
||||
|
||||
for _, record := range records {
|
||||
@ -184,7 +184,7 @@ func (c *client) GetRecords() (error, *[]dns.Record) {
|
||||
|
||||
}
|
||||
|
||||
func (conf Config) New() dns.Actions {
|
||||
func (conf Config) New() (dns.Actions, error) {
|
||||
var api_url string = API_BASE_URL
|
||||
|
||||
if len(conf.API_URL) > 5 {
|
||||
@ -196,5 +196,5 @@ func (conf Config) New() dns.Actions {
|
||||
API_KEY: conf.API_KEY,
|
||||
API_URL: api_url,
|
||||
Domain: conf.DOMAIN_NAME,
|
||||
}
|
||||
}, nil
|
||||
}
|
||||
|
4
go.mod
4
go.mod
@ -1,9 +1,9 @@
|
||||
module git.uoc.run.place/OxFF/dnsexit-manager
|
||||
module git.jolbec.icu/OxFF/dnsexit-manager
|
||||
|
||||
go 1.23.4
|
||||
|
||||
require (
|
||||
git.uoc.run.place/OxFF/dns-manager v0.0.2
|
||||
git.jolbec.icu/OxFF/dns-manager v0.0.5
|
||||
github.com/miekg/dns v1.1.62
|
||||
)
|
||||
|
||||
|
2
set.go
2
set.go
@ -1,6 +1,6 @@
|
||||
package dnsexit_manager
|
||||
|
||||
import dns "git.uoc.run.place/OxFF/dns-manager"
|
||||
import dns "git.jolbec.icu/OxFF/dns-manager"
|
||||
|
||||
type RecordSet struct {
|
||||
records map[dns.Record]struct{}
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
dns "git.uoc.run.place/OxFF/dns-manager"
|
||||
dns "git.jolbec.icu/OxFF/dns-manager"
|
||||
dns_req "github.com/miekg/dns"
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user