diff --git a/cli.go b/cli.go index b874b97..3aadb2a 100644 --- a/cli.go +++ b/cli.go @@ -72,6 +72,7 @@ Advanced options (query): - nameserver-search-by-ip - entity-search - entity-search-by-handle + - autnum-search The servers for domain, ip, autnum, url queries can be determined automatically. Otherwise, the RDAP server (--server=URL) must be specified. @@ -286,6 +287,8 @@ func RunCLI(args []string, stdout io.Writer, stderr io.Writer, options CLIOption req = NewRequest(NameserverSearchRequest, queryText) case "nameserver-search-by-ip": req = NewRequest(NameserverSearchByNameserverIPRequest, queryText) + case "autnum-search": + req = NewRequest(AutnumSearchRequest, queryText) default: printError(stderr, fmt.Sprintf("Unknown query type '%s'", *queryType)) return 1 diff --git a/request.go b/request.go index 275467e..805f88b 100644 --- a/request.go +++ b/request.go @@ -33,6 +33,7 @@ const ( NameserverSearchByNameserverIPRequest EntitySearchRequest EntitySearchByHandleRequest + AutnumSearchRequest // RawRequest is a request with a fixed RDAP URL. RawRequest @@ -68,6 +69,8 @@ func (r RequestType) String() string { return "entity-search" case EntitySearchByHandleRequest: return "entity-search-by-handle" + case AutnumSearchRequest: + return "autnum-search" case RawRequest: return "url" default: @@ -100,6 +103,7 @@ func (r RequestType) String() string { // rdap.NameserverSearchByNameserverIPRequest | No | nameservers?ip=QUERY | 192.0.2.0 // rdap.EntitySearchRequest | No | entities?fn=QUERY | ABC*-VRSN // rdap.EntitySearchByHandleRequest | No | entities?handle=QUERY | ABC*-VRSN +// rdap.AutnumSearchRequest | No | autnums?handle=QUERY | AS6006* // | | | // rdap.RawRequest | N/A | N/A | N/A // @@ -216,6 +220,9 @@ func (r *Request) pathAndValues() (string, url.Values) { case EntitySearchByHandleRequest: path = "entities" values["handle"] = []string{r.Query} + case AutnumSearchRequest: + path = "autnums" + values["handle"] = []string{r.Query} case RawRequest: // Server URL(s) are the entire request. default: diff --git a/request_test.go b/request_test.go index adab7f4..db0a6b8 100644 --- a/request_test.go +++ b/request_test.go @@ -165,6 +165,11 @@ func TestNewSearchRequests(t *testing.T) { "MY-HANDLE*&x=1", "entities?handle=MY-HANDLE%2A%26x%3D1", }, + { + AutnumSearchRequest, + "AS6006*&x=1", + "autnums?handle=AS6006%2A%26x%3D1", + }, } for _, test := range tests {