package dynv6

import (
	"fmt"
	"net/http"
	"time"
)

type Dynv6 struct {
	HostName string
	Password string
	IP       string
}

func New(Hostname string, Password string, IP string) (*Dynv6, error) {
	p := Dynv6{HostName: Hostname, Password: Password, IP: IP}
	return &p, nil
}

func (p Dynv6) SetDomainRecord(domain, ip string) error {
	url := fmt.Sprintf(
		"http://dynv6.com/api/update?hostname=%s&token=%s&ipv4=%s",
		p.HostName,
		p.Password,
		p.IP)

	// Make the HTTP GET request
	time.Sleep(time.Millisecond * 200) // avoid request too fast after login
	resp, err := http.Get(url)
	if err != nil {
		return err
	}
	defer resp.Body.Close()
	return nil
}
