Initial restructure of server

This commit is contained in:
Tyler
2020-01-25 12:43:02 -05:00
parent 764e326a4b
commit 3122096982
24 changed files with 452 additions and 293 deletions

26
utils/utils.go Normal file
View File

@ -0,0 +1,26 @@
package utils
import (
"github.com/miekg/dns"
"net"
"regexp"
)
func IsDomain(domain string) bool {
if IsIP(domain) {
return false
}
match, _ := regexp.MatchString(`^([a-zA-Z0-9\*]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$`, domain)
return match
}
func IsIP(ip string) bool {
return net.ParseIP(ip) != nil
}
func UnFqdn(s string) string {
if dns.IsFqdn(s) {
return s[:len(s)-1]
}
return s
}

32
utils/utils_test.go Normal file
View File

@ -0,0 +1,32 @@
package utils
import (
"testing"
. "github.com/smartystreets/goconvey/convey"
)
func TestHostDomainAndIP(t *testing.T) {
Convey("Test Host File Domain and IP regex", t, func() {
Convey("1.1.1.1 should be IP and not domain", func() {
So(isIP("1.1.1.1"), ShouldEqual, true)
So(isDomain("1.1.1.1"), ShouldEqual, false)
})
Convey("2001:470:20::2 should be IP and not domain", func() {
So(isIP("2001:470:20::2"), ShouldEqual, true)
So(isDomain("2001:470:20::2"), ShouldEqual, false)
})
Convey("`host` should not be domain and not IP", func() {
So(isDomain("host"), ShouldEqual, false)
So(isIP("host"), ShouldEqual, false)
})
Convey("`123.test` should be domain and not IP", func() {
So(isDomain("123.test"), ShouldEqual, true)
So(isIP("123.test"), ShouldEqual, false)
})
})
}