nicinfo 1.3.0.pre.alpha1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/nicinfo/autnum.rb +7 -7
- data/lib/nicinfo/cache.rb +0 -30
- data/lib/nicinfo/common_json.rb +34 -14
- data/lib/nicinfo/config.rb +19 -7
- data/lib/nicinfo/constants.rb +18 -2
- data/lib/nicinfo/data_tree.rb +3 -3
- data/lib/nicinfo/demo/domain-dnr.json +2 -2
- data/lib/nicinfo/demo/entities.json +4 -4
- data/lib/nicinfo/demo/entity-dnr.json +2 -2
- data/lib/nicinfo/demo/entity-rir.json +2 -2
- data/lib/nicinfo/demo/error-code.json +30 -1
- data/lib/nicinfo/demo/nameservers.json +8 -7
- data/lib/nicinfo/demo/ns-simple.json +2 -2
- data/lib/nicinfo/demo/ns-very-simple.json +2 -2
- data/lib/nicinfo/demo/ns.json +5 -5
- data/lib/nicinfo/domain.rb +7 -7
- data/lib/nicinfo/entity.rb +98 -87
- data/lib/nicinfo/error_code.rb +15 -18
- data/lib/nicinfo/factory.rb +56 -0
- data/lib/nicinfo/ip.rb +14 -6
- data/lib/nicinfo/jcr/rdap.jcr +807 -0
- data/lib/nicinfo/jcr/strict.jcr +238 -0
- data/lib/nicinfo/nicinfo_logger.rb +145 -46
- data/lib/nicinfo/nicinfo_main.rb +154 -45
- data/lib/nicinfo/notices.rb +30 -37
- data/lib/nicinfo/ns.rb +8 -8
- data/lib/nicinfo/utils.rb +8 -2
- metadata +36 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7ecaa53b9df142ebd216e7dc88de56ab2f811c4339e9f075c4088f26d5cecd83
|
4
|
+
data.tar.gz: af818b3b4a62989a1a4b4f8379601ca184461ad6483361070ac22a021ad83b18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 035ad570ca83474c8a2256ca0107507322aacdd7987cdde9c63332158e2cb59f1c2e100d30e384648b711a2e73e77a3d3a36a1e6e65789de74a4154557e23610
|
7
|
+
data.tar.gz: 3d10ed8e6f05f03b7d6b2124e831e30e7684a7b505791265db4170ad117f574e4a53977aa8e0ed1abd97fef7f33cdee8f819ac620eaba06e1d4e3adb6a908047
|
data/lib/nicinfo/autnum.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2011
|
1
|
+
# Copyright (C) 2011-2017 American Registry for Internet Numbers
|
2
2
|
#
|
3
3
|
# Permission to use, copy, modify, and/or distribute this software for any
|
4
4
|
# purpose with or without fee is hereby granted, provided that the above
|
@@ -22,7 +22,7 @@ require 'nicinfo/data_tree'
|
|
22
22
|
module NicInfo
|
23
23
|
|
24
24
|
def NicInfo.display_autnum json_data, config, data_tree
|
25
|
-
autnum =
|
25
|
+
autnum = config.factory.new_autnum.process( json_data )
|
26
26
|
NicInfo::display_object_with_entities( autnum, config, data_tree )
|
27
27
|
end
|
28
28
|
|
@@ -47,15 +47,15 @@ module NicInfo
|
|
47
47
|
def display
|
48
48
|
@config.logger.start_data_item
|
49
49
|
@config.logger.data_title "[ AS NUMBER ]"
|
50
|
-
@config.logger.terse "Handle", NicInfo::get_handle( @objectclass )
|
51
|
-
@config.logger.extra "Object Class Name", NicInfo::get_object_class_name( @objectclass )
|
50
|
+
@config.logger.terse "Handle", NicInfo::get_handle( @objectclass ), NicInfo::AttentionType::SUCCESS
|
51
|
+
@config.logger.extra "Object Class Name", NicInfo::get_object_class_name( @objectclass, "autnum", @config )
|
52
52
|
endNum = NicInfo.get_endAutnum @objectclass
|
53
53
|
startNum = NicInfo.get_startAutnum @objectclass
|
54
54
|
if endNum
|
55
|
-
@config.logger.terse "Start AS Number", startNum
|
56
|
-
@config.logger.terse "End AS Number", endNum
|
55
|
+
@config.logger.terse "Start AS Number", startNum, NicInfo::AttentionType::SUCCESS
|
56
|
+
@config.logger.terse "End AS Number", endNum, NicInfo::AttentionType::SUCCESS
|
57
57
|
else
|
58
|
-
@config.logger.terse "AS Number", startNum
|
58
|
+
@config.logger.terse "AS Number", startNum, NicInfo::AttentionType::SUCCESS
|
59
59
|
end
|
60
60
|
@config.logger.extra "Name", NicInfo.get_name( @objectclass )
|
61
61
|
@config.logger.terse "Country", NicInfo.get_country( @objectclass )
|
data/lib/nicinfo/cache.rb
CHANGED
@@ -106,36 +106,6 @@ module NicInfo
|
|
106
106
|
return count
|
107
107
|
end
|
108
108
|
|
109
|
-
def get_last
|
110
|
-
cache_files = Dir::entries(@config.rdap_cache_dir)
|
111
|
-
last_file = nil
|
112
|
-
last_file_mtime = nil
|
113
|
-
cache_files.each do |file|
|
114
|
-
full_file_name = File.join(@config.rdap_cache_dir, file)
|
115
|
-
if !file.start_with?(".")
|
116
|
-
mtime = File.mtime(full_file_name)
|
117
|
-
if last_file == nil
|
118
|
-
last_file = full_file_name
|
119
|
-
last_file_mtime = mtime
|
120
|
-
elsif mtime > last_file_mtime
|
121
|
-
last_file = full_file_name
|
122
|
-
last_file_mtime = mtime
|
123
|
-
end
|
124
|
-
end
|
125
|
-
end
|
126
|
-
if last_file
|
127
|
-
f = File.open(last_file, "r")
|
128
|
-
data = ''
|
129
|
-
f.each_line do |line|
|
130
|
-
data += line
|
131
|
-
end
|
132
|
-
f.close
|
133
|
-
return [last_file, last_file_mtime, data]
|
134
|
-
end
|
135
|
-
#else
|
136
|
-
return nil
|
137
|
-
end
|
138
|
-
|
139
109
|
end
|
140
110
|
|
141
111
|
end
|
data/lib/nicinfo/common_json.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2011
|
1
|
+
# Copyright (C) 2011-2017 American Registry for Internet Numbers
|
2
2
|
#
|
3
3
|
# Permission to use, copy, modify, and/or distribute this software for any
|
4
4
|
# purpose with or without fee is hereby granted, provided that the above
|
@@ -67,7 +67,7 @@ module NicInfo
|
|
67
67
|
entities = Array.new
|
68
68
|
json_entities = NicInfo::get_entitites( objectclass )
|
69
69
|
json_entities.each do |json_entity|
|
70
|
-
entity =
|
70
|
+
entity = @config.factory.new_entity
|
71
71
|
entity.process( json_entity )
|
72
72
|
entities << entity
|
73
73
|
end if json_entities
|
@@ -76,14 +76,15 @@ module NicInfo
|
|
76
76
|
|
77
77
|
def display_remarks objectclass
|
78
78
|
remarks = objectclass[ "remarks" ]
|
79
|
-
if
|
80
|
-
@config.
|
81
|
-
|
82
|
-
|
83
|
-
|
79
|
+
if remarks
|
80
|
+
excessive_notice = @config.factory.new_notices.is_excessive_notice(remarks)
|
81
|
+
if (excessive_notice && (@config.logger.data_amount != NicInfo::DataAmount::EXTRA_DATA))
|
82
|
+
@config.logger.datum "Excessive Remarks", "Use \"-V\" or \"--data extra\" to see them."
|
83
|
+
else
|
84
|
+
if remarks.instance_of?(Array)
|
84
85
|
remarks.each do |remark|
|
85
|
-
if remark.instance_of?(
|
86
|
-
title = remark[
|
86
|
+
if remark.instance_of?(Hash)
|
87
|
+
title = remark["title"]
|
87
88
|
@config.logger.datum "Remarks", "-- #{title} --" if title
|
88
89
|
descriptions = NicInfo::get_descriptions remark, @config
|
89
90
|
i = 1
|
@@ -97,11 +98,11 @@ module NicInfo
|
|
97
98
|
end if descriptions
|
98
99
|
links = NicInfo::get_links remark, @config
|
99
100
|
if links
|
100
|
-
@config.logger.datum "More", NicInfo::get_alternate_link(
|
101
|
-
@config.logger.datum "About", NicInfo::get_about_link(
|
102
|
-
@config.logger.datum "TOS", NicInfo::get_tos_link(
|
103
|
-
@config.logger.datum "(C)", NicInfo::get_copyright_link(
|
104
|
-
@config.logger.datum "License", NicInfo::get_license_link(
|
101
|
+
@config.logger.datum "More", NicInfo::get_alternate_link(links)
|
102
|
+
@config.logger.datum "About", NicInfo::get_about_link(links)
|
103
|
+
@config.logger.datum "TOS", NicInfo::get_tos_link(links)
|
104
|
+
@config.logger.datum "(C)", NicInfo::get_copyright_link(links)
|
105
|
+
@config.logger.datum "License", NicInfo::get_license_link(links)
|
105
106
|
end
|
106
107
|
else
|
107
108
|
@config.conf_msgs << "remark is not an object."
|
@@ -203,6 +204,25 @@ module NicInfo
|
|
203
204
|
end
|
204
205
|
end
|
205
206
|
|
207
|
+
def display_simple_links links
|
208
|
+
if links
|
209
|
+
if links.instance_of?( Array )
|
210
|
+
alternate = NicInfo.get_alternate_link links
|
211
|
+
@config.logger.prose NicInfo::DataAmount::NORMAL_DATA, "More", alternate, NicInfo::AttentionType::SECONDARY if alternate
|
212
|
+
about = NicInfo.get_about_link links
|
213
|
+
@config.logger.prose NicInfo::DataAmount::NORMAL_DATA, "About", about, NicInfo::AttentionType::SECONDARY if about
|
214
|
+
tos = NicInfo.get_tos_link links
|
215
|
+
@config.logger.prose NicInfo::DataAmount::NORMAL_DATA, "TOS", tos, NicInfo::AttentionType::SECONDARY if tos
|
216
|
+
copyright = NicInfo.get_copyright_link links
|
217
|
+
@config.logger.prose NicInfo::DataAmount::NORMAL_DATA, "(C)", copyright, NicInfo::AttentionType::SECONDARY if copyright
|
218
|
+
license = NicInfo.get_license_link links
|
219
|
+
@config.logger.prose NicInfo::DataAmount::NORMAL_DATA, "License", license, NicInfo::AttentionType::SECONDARY if license
|
220
|
+
else
|
221
|
+
@config.conf_msgs << "'links' is not an array."
|
222
|
+
end
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
206
226
|
end
|
207
227
|
|
208
228
|
class EventActor
|
data/lib/nicinfo/config.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2011
|
1
|
+
# Copyright (C) 2011-2017 American Registry for Internet Numbers
|
2
2
|
#
|
3
3
|
# Permission to use, copy, modify, and/or distribute this software for any
|
4
4
|
# purpose with or without fee is hereby granted, provided that the above
|
@@ -15,9 +15,10 @@
|
|
15
15
|
|
16
16
|
require 'fileutils'
|
17
17
|
require 'time'
|
18
|
-
require 'nicinfo/nicinfo_logger'
|
19
18
|
require 'yaml'
|
20
19
|
require 'ostruct'
|
20
|
+
require 'nicinfo/nicinfo_logger'
|
21
|
+
require 'nicinfo/factory'
|
21
22
|
require 'nicinfo/constants'
|
22
23
|
|
23
24
|
module NicInfo
|
@@ -25,7 +26,7 @@ module NicInfo
|
|
25
26
|
# Handles configuration of the application
|
26
27
|
class Config
|
27
28
|
|
28
|
-
attr_accessor :logger, :config, :rdap_cache_dir, :options, :conf_msgs, :rdap_bootstrap_dir
|
29
|
+
attr_accessor :logger, :config, :rdap_cache_dir, :options, :conf_msgs, :rdap_bootstrap_dir, :factory
|
29
30
|
|
30
31
|
# Intializes the configuration with a place to look for the config file
|
31
32
|
# If the file doesn't exist, a default is used.
|
@@ -36,6 +37,7 @@ module NicInfo
|
|
36
37
|
@app_data = app_data
|
37
38
|
@logger = NicInfo::Logger.new
|
38
39
|
@conf_msgs = Array.new
|
40
|
+
@factory = NicInfo::Factory.new( self )
|
39
41
|
|
40
42
|
config_file_name = Config.formulate_config_file_name( @app_data )
|
41
43
|
if File.exist?( config_file_name )
|
@@ -99,7 +101,7 @@ module NicInfo
|
|
99
101
|
if config_version == nil || config_version < NicInfo::CONFIG_VERSION
|
100
102
|
# if a reset hasn't been asked for
|
101
103
|
if !@options.reset_config
|
102
|
-
@logger.mesg( "Your configuration is old. Use --reset to create a new one.")
|
104
|
+
@logger.mesg( "Your configuration is old. Use --reset to create a new one.", NicInfo::AttentionType::ERROR )
|
103
105
|
end
|
104
106
|
end
|
105
107
|
end
|
@@ -222,6 +224,9 @@ module NicInfo
|
|
222
224
|
@logger.auto_wrap=output[ NicInfo::AUTO_WRAP ]
|
223
225
|
@logger.default_width=output[ NicInfo::DEFAULT_WIDTH ]
|
224
226
|
@logger.detect_width=output[ NicInfo::DETECT_WIDTH ]
|
227
|
+
|
228
|
+
@logger.color_scheme = output[ NicInfo::COLOR_SCHEME ]
|
229
|
+
@logger.validate_color_scheme
|
225
230
|
end
|
226
231
|
|
227
232
|
def self.clean
|
@@ -231,7 +236,7 @@ module NicInfo
|
|
231
236
|
end
|
232
237
|
|
233
238
|
def self.formulate_app_data_dir
|
234
|
-
if
|
239
|
+
if Gem.win_platform?
|
235
240
|
data_dir = File.join(ENV['APPDATA'], "NicInfo")
|
236
241
|
elsif RUBY_PLATFORM =~ /linux/
|
237
242
|
data_dir = File.join(ENV['HOME'], ".NicInfo")
|
@@ -282,6 +287,13 @@ output:
|
|
282
287
|
# or cannot be detected
|
283
288
|
default_width: 80
|
284
289
|
|
290
|
+
# The color scheme to use. Possible values are
|
291
|
+
# - DARK for terminals with dark background
|
292
|
+
# - LIGHT for terminals with light background
|
293
|
+
# - NONE for no color
|
294
|
+
# color is turned off automatically if a pager is used and the pager is not 'less'.
|
295
|
+
color_scheme: DARK
|
296
|
+
|
285
297
|
cache:
|
286
298
|
|
287
299
|
# The maximum age an item from the cache will be used.
|
@@ -303,9 +315,9 @@ cache:
|
|
303
315
|
bootstrap:
|
304
316
|
|
305
317
|
# The base or bootstrap URL. Specifying this will bypass all built-in bootstrapping.
|
306
|
-
#base_url: https://rdap.arin.net/bootstrap
|
318
|
+
#base_url: https://rdap-bootstrap.arin.net/bootstrap
|
307
319
|
|
308
|
-
help_root_url: https://rdap.arin.net/bootstrap
|
320
|
+
help_root_url: https://rdap-bootstrap.arin.net/bootstrap
|
309
321
|
|
310
322
|
entity_root_url: https://rdap.arin.net/registry
|
311
323
|
|
data/lib/nicinfo/constants.rb
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
module NicInfo
|
20
20
|
|
21
|
-
VERSION = "1.
|
21
|
+
VERSION = "1.5.0"
|
22
22
|
VERSION_LABEL = "NicInfo v." + VERSION
|
23
23
|
COPYRIGHT = "Copyright (c) 2011-2017 American Registry for Internet Numbers (ARIN)"
|
24
24
|
CONFIG_VERSION = 4
|
@@ -43,7 +43,7 @@ module NicInfo
|
|
43
43
|
IPV6_REGEX = /\A(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\z/
|
44
44
|
IPV6_HEXCOMPRESS_REGEX = /\A((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)\z/
|
45
45
|
|
46
|
-
#File Name Constants
|
46
|
+
# File Name Constants
|
47
47
|
LASTTREE_YAML = "lasttree.yaml"
|
48
48
|
DEMO_DIR = "demo"
|
49
49
|
BOOTSTRAP_FILE_DIR = "bsfiles"
|
@@ -53,6 +53,21 @@ module NicInfo
|
|
53
53
|
IPV4_BOOTSTRAP = "ipv4.json"
|
54
54
|
IPV6_BOOTSTRAP = "ipv6.json"
|
55
55
|
|
56
|
+
# JCR Constants
|
57
|
+
JCR_DIR = "jcr"
|
58
|
+
RDAP_JCR = "rdap.jcr"
|
59
|
+
STRICT_RDAP_JCR = "strict.jcr"
|
60
|
+
JCR_ROOT_ENTITY = "entity_response"
|
61
|
+
JCR_ROOT_NAMESERVER = "nameserver_response"
|
62
|
+
JCR_ROOT_DOMAIN = "domain_response"
|
63
|
+
JCR_ROOT_NETWORK = "network_response"
|
64
|
+
JCR_ROOT_AUTNUM = "autnum_response"
|
65
|
+
JCR_ROOT_ERROR = "error_response"
|
66
|
+
JCR_ROOT_HELP = "help_response"
|
67
|
+
JCR_ROOT_DOMAIN_SEARCH = "domainSearch_response"
|
68
|
+
JCR_ROOT_NAMESERVER_SEARCH = "nameserverSearch_response"
|
69
|
+
JCR_ROOT_ENTITY_SEARCH = "entitySearch_response"
|
70
|
+
|
56
71
|
# Config constants
|
57
72
|
OUTPUT = "output"
|
58
73
|
MESSAGES = "messages"
|
@@ -63,6 +78,7 @@ module NicInfo
|
|
63
78
|
AUTO_WRAP = "auto_wrap"
|
64
79
|
DETECT_WIDTH = "detect_width"
|
65
80
|
DEFAULT_WIDTH = "default_width"
|
81
|
+
COLOR_SCHEME = "color_scheme"
|
66
82
|
CACHE = "cache"
|
67
83
|
CACHE_EXPIRY = "cache_expiry"
|
68
84
|
CACHE_EVICTION = "cache_eviction"
|
data/lib/nicinfo/data_tree.rb
CHANGED
@@ -144,7 +144,7 @@ module NicInfo
|
|
144
144
|
end
|
145
145
|
num_count = 1
|
146
146
|
@logger.start_data_item if print_tree
|
147
|
-
@logger.prose( @data_amount, "[ RESPONSE DATA ]", " ")
|
147
|
+
@logger.prose( @data_amount, "[ RESPONSE DATA ]", " ", NicInfo::AttentionType::SUCCESS )
|
148
148
|
@roots.each do |root|
|
149
149
|
if annotate
|
150
150
|
if root.alert
|
@@ -157,7 +157,7 @@ module NicInfo
|
|
157
157
|
else
|
158
158
|
s = root.to_s
|
159
159
|
end
|
160
|
-
retval = @logger.log_tree_item( @data_amount, s )
|
160
|
+
retval = @logger.log_tree_item( @data_amount, s, NicInfo::AttentionType::SUCCESS )
|
161
161
|
if annotate
|
162
162
|
prefix = " "
|
163
163
|
child_num = 1
|
@@ -193,7 +193,7 @@ module NicInfo
|
|
193
193
|
child_num = 0
|
194
194
|
end
|
195
195
|
prefix = prefix.tr( "`", " ") + spacer + ( node == parent.children.last ? "`" : "|" )
|
196
|
-
@logger.log_tree_item( @data_amount, prefix + num_str + node.to_s )
|
196
|
+
@logger.log_tree_item( @data_amount, prefix + num_str + node.to_s, NicInfo::AttentionType::SUCCESS )
|
197
197
|
node.children.each do |child|
|
198
198
|
rprint( child_num, node, child, prefix )
|
199
199
|
child_num += 1 if child_num > 0
|
@@ -506,9 +506,9 @@
|
|
506
506
|
],
|
507
507
|
"links":[
|
508
508
|
{
|
509
|
-
"value":"https://rdap.arin.net/bootstrap/domain/xn--fo-5ja.example",
|
509
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/domain/xn--fo-5ja.example",
|
510
510
|
"rel":"self",
|
511
|
-
"href":"https://rdap.arin.net/bootstrap/domain/xn--fo-5ja.example"
|
511
|
+
"href":"https://rdap-bootstrap.arin.net/bootstrap/domain/xn--fo-5ja.example"
|
512
512
|
}
|
513
513
|
],
|
514
514
|
"port43":"whois.example.net",
|
@@ -147,9 +147,9 @@
|
|
147
147
|
],
|
148
148
|
"links": [
|
149
149
|
{
|
150
|
-
"value": "https://rdap.arin.net/bootstrap/entity/entity-dnr",
|
150
|
+
"value": "https://rdap-bootstrap.arin.net/bootstrap/entity/entity-dnr",
|
151
151
|
"rel": "self",
|
152
|
-
"href": "https://rdap.arin.net/bootstrap/entity/entity-dnr"
|
152
|
+
"href": "https://rdap-bootstrap.arin.net/bootstrap/entity/entity-dnr"
|
153
153
|
}
|
154
154
|
],
|
155
155
|
"port43": "whois.example.net",
|
@@ -286,9 +286,9 @@
|
|
286
286
|
],
|
287
287
|
"links": [
|
288
288
|
{
|
289
|
-
"value": "https://rdap.arin.net/bootstrap/entity/foo1",
|
289
|
+
"value": "https://rdap-bootstrap.arin.net/bootstrap/entity/foo1",
|
290
290
|
"rel": "self",
|
291
|
-
"href": "https://rdap.arin.net/bootstrap/entity/foo1"
|
291
|
+
"href": "https://rdap-bootstrap.arin.net/bootstrap/entity/foo1"
|
292
292
|
}
|
293
293
|
],
|
294
294
|
"events": [
|
@@ -123,9 +123,9 @@
|
|
123
123
|
],
|
124
124
|
"links":[
|
125
125
|
{
|
126
|
-
"value":"https://rdap.arin.net/bootstrap/entity/entity-dnr",
|
126
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/entity/entity-dnr",
|
127
127
|
"rel":"self",
|
128
|
-
"href":"https://rdap.arin.net/bootstrap/entity/entity-dnr"
|
128
|
+
"href":"https://rdap-bootstrap.arin.net/bootstrap/entity/entity-dnr"
|
129
129
|
}
|
130
130
|
],
|
131
131
|
"port43":"whois.example.net",
|
@@ -132,9 +132,9 @@
|
|
132
132
|
],
|
133
133
|
"links":[
|
134
134
|
{
|
135
|
-
"value":"https://rdap.arin.net/bootstrap/entity/foo1",
|
135
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/entity/foo1",
|
136
136
|
"rel":"self",
|
137
|
-
"href":"https://rdap.arin.net/bootstrap/entity/foo1"
|
137
|
+
"href":"https://rdap-bootstrap.arin.net/bootstrap/entity/foo1"
|
138
138
|
}
|
139
139
|
],
|
140
140
|
"events":[
|
@@ -14,12 +14,41 @@
|
|
14
14
|
],
|
15
15
|
"links":[
|
16
16
|
{
|
17
|
-
"value":"https://rdap.arin.net/bootstrap/entity/restricted",
|
17
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/entity/restricted",
|
18
18
|
"rel":"terms-of-service",
|
19
19
|
"type":"text/html",
|
20
20
|
"href":"http://www.example.com/tos.html"
|
21
21
|
}
|
22
22
|
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"title":"Copyright",
|
26
|
+
"description":[
|
27
|
+
"This test data is Copyright (C) 2015-2018 ARIN."
|
28
|
+
],
|
29
|
+
"links":[
|
30
|
+
{
|
31
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/entity/restricted",
|
32
|
+
"rel":"copyright",
|
33
|
+
"type":"text/html",
|
34
|
+
"href":"http://www.example.com/copyright.html"
|
35
|
+
}
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"title":"About",
|
40
|
+
"description":[
|
41
|
+
"Questions regarding ARIN's RDAP service should be sent to arin-tech-discuss@arin.net.",
|
42
|
+
"See our mailing list for more info."
|
43
|
+
],
|
44
|
+
"links":[
|
45
|
+
{
|
46
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/entity/restricted",
|
47
|
+
"rel":"about",
|
48
|
+
"type":"text/html",
|
49
|
+
"href":"https://lists.arin.net/mailman/listinfo/arin-tech-discuss"
|
50
|
+
}
|
51
|
+
]
|
23
52
|
}
|
24
53
|
],
|
25
54
|
"errorCode":418,
|
@@ -27,8 +27,9 @@
|
|
27
27
|
"nameserverSearchResults": [
|
28
28
|
{
|
29
29
|
"handle":"XXXX",
|
30
|
+
"objectClassName" : "nameserver",
|
30
31
|
"ldhName":"ns1.xn--fo-5ja.example",
|
31
|
-
"unicodeName":"foo.example",
|
32
|
+
"unicodeName":"ns1.foo.example",
|
32
33
|
"status":[ "active" ],
|
33
34
|
"ipAddresses":{
|
34
35
|
"v4":[ "192.0.2.1", "192.0.2.2" ],
|
@@ -44,9 +45,9 @@
|
|
44
45
|
],
|
45
46
|
"links":[
|
46
47
|
{
|
47
|
-
"value":"https://rdap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example",
|
48
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example",
|
48
49
|
"rel":"self",
|
49
|
-
"href":"https://rdap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example"
|
50
|
+
"href":"https://rdap-bootstrap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example"
|
50
51
|
}
|
51
52
|
],
|
52
53
|
"port43":"whois.example.net",
|
@@ -229,9 +230,9 @@
|
|
229
230
|
},
|
230
231
|
{
|
231
232
|
"handle":"XXXX2",
|
232
|
-
"objectClassName":"
|
233
|
+
"objectClassName":"nameserver",
|
233
234
|
"ldhName":"ns1.xn--fo-5ja.example",
|
234
|
-
"unicodeName":"foo.example",
|
235
|
+
"unicodeName":"ns1.foo.example",
|
235
236
|
"status":[ "active" ],
|
236
237
|
"ipAddresses":{
|
237
238
|
"v4":[ "192.0.2.1", "192.0.2.2" ],
|
@@ -247,9 +248,9 @@
|
|
247
248
|
],
|
248
249
|
"links":[
|
249
250
|
{
|
250
|
-
"value":"https://rdap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example",
|
251
|
+
"value":"https://rdap-bootstrap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example",
|
251
252
|
"rel":"self",
|
252
|
-
"href":"https://rdap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example"
|
253
|
+
"href":"https://rdap-bootstrap.arin.net/bootstrap/nameserver/ns1.xn--fo-5ja.example"
|
253
254
|
}
|
254
255
|
],
|
255
256
|
"port43":"whois.example.net",
|