Skip to content

Commit

Permalink
Update check.go
Browse files Browse the repository at this point in the history
  • Loading branch information
haccer authored Jun 5, 2018
1 parent 24e3f17 commit 78c977e
Showing 1 changed file with 37 additions and 8 deletions.
45 changes: 37 additions & 8 deletions check.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,14 @@ import (
"golang.org/x/net/publicsuffix"
)

// Domain Returns if the domain is available (success) or if there's a badtld (fail)
func Domain(domain string) (available, badtld bool) {
/* SafeDomain utilizes the badtld checklist as a triage step,
then returns whether the domain is available and/or if the
domain has a "bad" tld.
*/
func SafeDomain(domain string) (available, badtld bool) {
available = false

if strings.Contains(domain, "://") {
domain = strings.Split(domain, "://")[1]
}

domain = strings.ToLower(domain)

domain = setDomain(domain)
tld, icann := publicsuffix.PublicSuffix(domain)
badtld = badTLD(tld)

Expand All @@ -35,6 +33,37 @@ func Domain(domain string) (available, badtld bool) {
return available, badtld
}

/* Domain returns if the domain is available or not.
This function does not have a triage step, and will
result in testing each TLD with one of the default
responses.
*/
func Domain(domain string) (available bool) {
available = false

domain = setDomain(domain)
tld, icann := publicsuffix.PublicSuffix(domain)

if icann == true {
query, err := publicsuffix.EffectiveTLDPlusOne(domain)
if err != nil {
return
}

available = match(tld, getWhois(query))
}

return available
}

func setDomain(domain string) string {
if strings.Contains(domain, "://") {
domain = strings.Split(domain, "://")[1]
}

return strings.ToLower(domain)
}

func match(tld, resp string) (available bool) {
available = false

Expand Down

0 comments on commit 78c977e

Please sign in to comment.