34 lines
769 B
Go
34 lines
769 B
Go
package whois
|
|
|
|
func parse(domain string, result string) (Result, error) {
|
|
var out Result
|
|
var err error
|
|
switch getExtension(domain) {
|
|
case "cn":
|
|
out, err = dotCNParser(domain, result)
|
|
case "jp":
|
|
out, err = dotJPParser(domain, result)
|
|
case "tw":
|
|
out, err = dotTWParser(domain, result)
|
|
case "edu":
|
|
out, err = dotEduParser(domain, result)
|
|
case "int":
|
|
out, err = dotIntParser(domain, result)
|
|
case "am":
|
|
out, err = dotAmParser(domain, result)
|
|
case "mk":
|
|
out, err = dotMkParser(domain, result)
|
|
case "ar":
|
|
out, err = dotArParser(domain, result)
|
|
default:
|
|
out, err = commonParser(domain, result)
|
|
}
|
|
if err != nil {
|
|
return Result{}, err
|
|
}
|
|
if out.meta.Source == "" {
|
|
out.meta = buildResultMeta(out, "whois", out.whoisSer)
|
|
}
|
|
return out, nil
|
|
}
|