Compare commits

..

No commits in common. "05e035925f712be097d4f907eef58bf3ec7a59ae" and "3d0ca816ff9e313807103b30b4de2ef46a163e25" have entirely different histories.

2 changed files with 10 additions and 51 deletions

View File

@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"sync"
@ -34,17 +35,6 @@ type dnsexitDTO struct {
Delete *dns.Record `json:"delete,omitempty"`
}
func convertInterfaceSliceToStruct(slice []interface{}) *[]dns.Record {
var domains []dns.Record
for _, domain := range slice {
fmt.Println(domain)
}
return &domains
}
func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
c.Locker.Lock()
defer c.Locker.Unlock()
@ -56,6 +46,7 @@ func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
})
if err != nil {
log.Println("Smth going wrong marshalling data for adding record")
return err, nil
}
@ -77,6 +68,7 @@ func (c *client) AddRecord(rec *dns.Record) (error, *dns.Response) {
return err, nil
}
log.Println(string(body))
return nil, &dns.Response{Message: string(body)}
}
@ -107,6 +99,7 @@ func (c *client) DeleteRecord(rec *dns.Record) (error, *dns.Response) {
if err != nil {
return err, nil
}
log.Println(string(body))
return nil, &dns.Response{Message: string(body)}
}
@ -138,12 +131,13 @@ func (c *client) UpdateRecord(rec *dns.Record) (error, *dns.Response) {
if err != nil {
return err, nil
}
log.Println(string(body))
return nil, &dns.Response{Message: string(body)}
}
func (c *client) GetRecords() (error, []*dns.Record) {
var subdomains = CreateSet()
var subdomains []*dns.Record
var wg sync.WaitGroup
result_chan := make(chan []*dns.Record)
@ -180,13 +174,11 @@ func (c *client) GetRecords() (error, []*dns.Record) {
select {
case records, ok := <-result_chan:
if !ok {
return nil, convertInterfaceSliceToStruct(subdomains.List())
return nil, subdomains
}
for record := range records {
subdomains.Add(record)
}
case _, _ = <-err_chan:
subdomains = append(subdomains, records...)
case _, _ = <-err_chan:
}
}

33
set.go
View File

@ -1,33 +0,0 @@
package dnsexit_manager
type Set struct {
elements map[interface{}]struct{}
}
func CreateSet() *Set {
return &Set{
elements: make(map[interface{}]struct{}),
}
}
func (set *Set) Add(value interface{}) {
_, found := set.elements[value]
if !found{
set.elements[value] = struct{}{}
}
}
func (set *Set) Delete(value interface{}) {
delete(set.elements, value)
}
func (set *Set) List() []interface{} {
keys := make([]interface{}, 0, len(set.elements))
for key := range set.elements {
keys = append(keys, key)
}
return keys
}