rdapify 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +316 -0
  2. package/README.md +456 -69
  3. package/dist/application/client/RDAPClient.d.ts +53 -0
  4. package/dist/application/client/RDAPClient.d.ts.map +1 -0
  5. package/dist/application/client/RDAPClient.js +163 -0
  6. package/dist/application/client/RDAPClient.js.map +1 -0
  7. package/dist/application/client/index.d.ts +2 -0
  8. package/dist/application/client/index.d.ts.map +1 -0
  9. package/dist/application/client/index.js +6 -0
  10. package/dist/application/client/index.js.map +1 -0
  11. package/dist/application/services/BatchProcessor.d.ts +27 -0
  12. package/dist/application/services/BatchProcessor.d.ts.map +1 -0
  13. package/dist/application/services/BatchProcessor.js +89 -0
  14. package/dist/application/services/BatchProcessor.js.map +1 -0
  15. package/dist/application/services/QueryOrchestrator.d.ts +27 -0
  16. package/dist/application/services/QueryOrchestrator.d.ts.map +1 -0
  17. package/dist/application/services/QueryOrchestrator.js +201 -0
  18. package/dist/application/services/QueryOrchestrator.js.map +1 -0
  19. package/dist/application/services/QueryPriority.d.ts +35 -0
  20. package/dist/application/services/QueryPriority.d.ts.map +1 -0
  21. package/dist/application/services/QueryPriority.js +114 -0
  22. package/dist/application/services/QueryPriority.js.map +1 -0
  23. package/dist/application/services/index.d.ts +3 -0
  24. package/dist/application/services/index.d.ts.map +1 -0
  25. package/dist/application/services/index.js +8 -0
  26. package/dist/application/services/index.js.map +1 -0
  27. package/dist/core/ports/bootstrap.port.d.ts +8 -0
  28. package/dist/core/ports/bootstrap.port.d.ts.map +1 -0
  29. package/dist/core/ports/bootstrap.port.js +3 -0
  30. package/dist/core/ports/bootstrap.port.js.map +1 -0
  31. package/dist/core/ports/cache.port.d.ts +10 -0
  32. package/dist/core/ports/cache.port.d.ts.map +1 -0
  33. package/dist/core/ports/cache.port.js +3 -0
  34. package/dist/core/ports/cache.port.js.map +1 -0
  35. package/dist/core/ports/fetcher.port.d.ts +5 -0
  36. package/dist/core/ports/fetcher.port.d.ts.map +1 -0
  37. package/dist/core/ports/fetcher.port.js +3 -0
  38. package/dist/core/ports/fetcher.port.js.map +1 -0
  39. package/dist/core/ports/index.d.ts +6 -0
  40. package/dist/core/ports/index.d.ts.map +1 -0
  41. package/dist/core/ports/index.js +9 -0
  42. package/dist/core/ports/index.js.map +1 -0
  43. package/dist/core/ports/normalizer.port.d.ts +5 -0
  44. package/dist/core/ports/normalizer.port.d.ts.map +1 -0
  45. package/dist/core/ports/normalizer.port.js +3 -0
  46. package/dist/core/ports/normalizer.port.js.map +1 -0
  47. package/dist/core/ports/pii-redactor.port.d.ts +6 -0
  48. package/dist/core/ports/pii-redactor.port.d.ts.map +1 -0
  49. package/dist/core/ports/pii-redactor.port.js +3 -0
  50. package/dist/core/ports/pii-redactor.port.js.map +1 -0
  51. package/dist/index.d.ts +26 -7
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +65 -16
  54. package/dist/index.js.map +1 -0
  55. package/dist/infrastructure/cache/CacheManager.d.ts +28 -0
  56. package/dist/infrastructure/cache/CacheManager.d.ts.map +1 -0
  57. package/dist/infrastructure/cache/CacheManager.js +117 -0
  58. package/dist/infrastructure/cache/CacheManager.js.map +1 -0
  59. package/dist/infrastructure/cache/InMemoryCache.d.ts +24 -0
  60. package/dist/infrastructure/cache/InMemoryCache.d.ts.map +1 -0
  61. package/dist/infrastructure/cache/InMemoryCache.js +96 -0
  62. package/dist/infrastructure/cache/InMemoryCache.js.map +1 -0
  63. package/dist/infrastructure/cache/PersistentCache.d.ts +39 -0
  64. package/dist/infrastructure/cache/PersistentCache.d.ts.map +1 -0
  65. package/dist/infrastructure/cache/PersistentCache.js +194 -0
  66. package/dist/infrastructure/cache/PersistentCache.js.map +1 -0
  67. package/dist/infrastructure/cache/index.d.ts +3 -0
  68. package/dist/infrastructure/cache/index.d.ts.map +1 -0
  69. package/dist/infrastructure/cache/index.js +8 -0
  70. package/dist/infrastructure/cache/index.js.map +1 -0
  71. package/dist/infrastructure/http/AuthenticationManager.d.ts +38 -0
  72. package/dist/infrastructure/http/AuthenticationManager.d.ts.map +1 -0
  73. package/dist/infrastructure/http/AuthenticationManager.js +99 -0
  74. package/dist/infrastructure/http/AuthenticationManager.js.map +1 -0
  75. package/dist/infrastructure/http/BootstrapDiscovery.d.ts +21 -0
  76. package/dist/infrastructure/http/BootstrapDiscovery.d.ts.map +1 -0
  77. package/dist/infrastructure/http/BootstrapDiscovery.js +130 -0
  78. package/dist/infrastructure/http/BootstrapDiscovery.js.map +1 -0
  79. package/dist/infrastructure/http/CompressionManager.d.ts +30 -0
  80. package/dist/infrastructure/http/CompressionManager.d.ts.map +1 -0
  81. package/dist/infrastructure/http/CompressionManager.js +86 -0
  82. package/dist/infrastructure/http/CompressionManager.js.map +1 -0
  83. package/dist/infrastructure/http/ConnectionPool.d.ts +25 -0
  84. package/dist/infrastructure/http/ConnectionPool.d.ts.map +1 -0
  85. package/dist/infrastructure/http/ConnectionPool.js +101 -0
  86. package/dist/infrastructure/http/ConnectionPool.js.map +1 -0
  87. package/dist/infrastructure/http/Fetcher.d.ts +29 -0
  88. package/dist/infrastructure/http/Fetcher.d.ts.map +1 -0
  89. package/dist/infrastructure/http/Fetcher.js +114 -0
  90. package/dist/infrastructure/http/Fetcher.js.map +1 -0
  91. package/dist/infrastructure/http/Normalizer.d.ts +11 -0
  92. package/dist/infrastructure/http/Normalizer.d.ts.map +1 -0
  93. package/dist/infrastructure/http/Normalizer.js +151 -0
  94. package/dist/infrastructure/http/Normalizer.js.map +1 -0
  95. package/dist/infrastructure/http/ProxyManager.d.ts +43 -0
  96. package/dist/infrastructure/http/ProxyManager.d.ts.map +1 -0
  97. package/dist/infrastructure/http/ProxyManager.js +87 -0
  98. package/dist/infrastructure/http/ProxyManager.js.map +1 -0
  99. package/dist/infrastructure/http/RateLimiter.d.ts +28 -0
  100. package/dist/infrastructure/http/RateLimiter.d.ts.map +1 -0
  101. package/dist/infrastructure/http/RateLimiter.js +101 -0
  102. package/dist/infrastructure/http/RateLimiter.js.map +1 -0
  103. package/dist/infrastructure/http/RetryStrategy.d.ts +58 -0
  104. package/dist/infrastructure/http/RetryStrategy.d.ts.map +1 -0
  105. package/dist/infrastructure/http/RetryStrategy.js +136 -0
  106. package/dist/infrastructure/http/RetryStrategy.js.map +1 -0
  107. package/dist/infrastructure/http/index.d.ts +4 -0
  108. package/dist/infrastructure/http/index.d.ts.map +1 -0
  109. package/dist/infrastructure/http/index.js +10 -0
  110. package/dist/infrastructure/http/index.js.map +1 -0
  111. package/dist/infrastructure/logging/Logger.d.ts +49 -0
  112. package/dist/infrastructure/logging/Logger.d.ts.map +1 -0
  113. package/dist/infrastructure/logging/Logger.js +126 -0
  114. package/dist/infrastructure/logging/Logger.js.map +1 -0
  115. package/dist/infrastructure/monitoring/MetricsCollector.d.ts +53 -0
  116. package/dist/infrastructure/monitoring/MetricsCollector.d.ts.map +1 -0
  117. package/dist/infrastructure/monitoring/MetricsCollector.js +109 -0
  118. package/dist/infrastructure/monitoring/MetricsCollector.js.map +1 -0
  119. package/dist/infrastructure/security/PIIRedactor.d.ts +13 -0
  120. package/dist/infrastructure/security/PIIRedactor.d.ts.map +1 -0
  121. package/dist/infrastructure/security/PIIRedactor.js +83 -0
  122. package/dist/infrastructure/security/PIIRedactor.js.map +1 -0
  123. package/dist/infrastructure/security/SSRFProtection.d.ts +13 -0
  124. package/dist/infrastructure/security/SSRFProtection.d.ts.map +1 -0
  125. package/dist/infrastructure/security/SSRFProtection.js +142 -0
  126. package/dist/infrastructure/security/SSRFProtection.js.map +1 -0
  127. package/dist/infrastructure/security/index.d.ts +3 -0
  128. package/dist/infrastructure/security/index.d.ts.map +1 -0
  129. package/dist/infrastructure/security/index.js +8 -0
  130. package/dist/infrastructure/security/index.js.map +1 -0
  131. package/dist/shared/constants/http.constants.d.ts +26 -0
  132. package/dist/shared/constants/http.constants.d.ts.map +1 -0
  133. package/dist/shared/constants/http.constants.js +29 -0
  134. package/dist/shared/constants/http.constants.js.map +1 -0
  135. package/dist/shared/constants/index.d.ts +3 -0
  136. package/dist/shared/constants/index.d.ts.map +1 -0
  137. package/dist/shared/constants/index.js +6 -0
  138. package/dist/shared/constants/index.js.map +1 -0
  139. package/dist/shared/constants/rdap.constants.d.ts +9 -0
  140. package/dist/shared/constants/rdap.constants.d.ts.map +1 -0
  141. package/dist/shared/constants/rdap.constants.js +21 -0
  142. package/dist/shared/constants/rdap.constants.js.map +1 -0
  143. package/dist/shared/errors/base.error.d.ts +44 -0
  144. package/dist/shared/errors/base.error.d.ts.map +1 -0
  145. package/dist/shared/errors/base.error.js +122 -0
  146. package/dist/shared/errors/base.error.js.map +1 -0
  147. package/dist/shared/errors/index.d.ts +2 -0
  148. package/dist/shared/errors/index.d.ts.map +1 -0
  149. package/dist/shared/errors/index.js +5 -0
  150. package/dist/shared/errors/index.js.map +1 -0
  151. package/dist/shared/types/entities.d.ts +50 -0
  152. package/dist/shared/types/entities.d.ts.map +1 -0
  153. package/dist/shared/types/entities.js +3 -0
  154. package/dist/shared/types/entities.js.map +1 -0
  155. package/dist/shared/types/enums.d.ts +10 -0
  156. package/dist/shared/types/enums.d.ts.map +1 -0
  157. package/dist/shared/types/enums.js +3 -0
  158. package/dist/shared/types/enums.js.map +1 -0
  159. package/dist/shared/types/errors.d.ts +40 -0
  160. package/dist/shared/types/errors.d.ts.map +1 -0
  161. package/dist/shared/types/errors.js +101 -0
  162. package/dist/shared/types/errors.js.map +1 -0
  163. package/dist/shared/types/generics.d.ts +32 -0
  164. package/dist/shared/types/generics.d.ts.map +1 -0
  165. package/dist/shared/types/generics.js +3 -0
  166. package/dist/shared/types/generics.js.map +1 -0
  167. package/dist/shared/types/index.d.ts +4 -0
  168. package/dist/shared/types/index.d.ts.map +1 -0
  169. package/dist/shared/types/index.js +3 -0
  170. package/dist/shared/types/index.js.map +1 -0
  171. package/dist/shared/types/options.d.ts +60 -0
  172. package/dist/shared/types/options.d.ts.map +1 -0
  173. package/dist/shared/types/options.js +50 -0
  174. package/dist/shared/types/options.js.map +1 -0
  175. package/dist/shared/types/responses.d.ts +76 -0
  176. package/dist/shared/types/responses.d.ts.map +1 -0
  177. package/dist/shared/types/responses.js +3 -0
  178. package/dist/shared/types/responses.js.map +1 -0
  179. package/dist/shared/utils/enhanced-validators.d.ts +18 -0
  180. package/dist/shared/utils/enhanced-validators.d.ts.map +1 -0
  181. package/dist/shared/utils/enhanced-validators.js +162 -0
  182. package/dist/shared/utils/enhanced-validators.js.map +1 -0
  183. package/dist/shared/utils/helpers/async.d.ts +9 -0
  184. package/dist/shared/utils/helpers/async.d.ts.map +1 -0
  185. package/dist/shared/utils/helpers/async.js +47 -0
  186. package/dist/shared/utils/helpers/async.js.map +1 -0
  187. package/dist/shared/utils/helpers/cache.d.ts +2 -0
  188. package/dist/shared/utils/helpers/cache.d.ts.map +1 -0
  189. package/dist/shared/utils/helpers/cache.js +7 -0
  190. package/dist/shared/utils/helpers/cache.js.map +1 -0
  191. package/dist/shared/utils/helpers/format.d.ts +3 -0
  192. package/dist/shared/utils/helpers/format.d.ts.map +1 -0
  193. package/dist/shared/utils/helpers/format.js +22 -0
  194. package/dist/shared/utils/helpers/format.js.map +1 -0
  195. package/dist/shared/utils/helpers/http.d.ts +2 -0
  196. package/dist/shared/utils/helpers/http.d.ts.map +1 -0
  197. package/dist/shared/utils/helpers/http.js +17 -0
  198. package/dist/shared/utils/helpers/http.js.map +1 -0
  199. package/dist/shared/utils/helpers/index.d.ts +8 -0
  200. package/dist/shared/utils/helpers/index.d.ts.map +1 -0
  201. package/dist/shared/utils/helpers/index.js +29 -0
  202. package/dist/shared/utils/helpers/index.js.map +1 -0
  203. package/dist/shared/utils/helpers/object.d.ts +3 -0
  204. package/dist/shared/utils/helpers/object.d.ts.map +1 -0
  205. package/dist/shared/utils/helpers/object.js +24 -0
  206. package/dist/shared/utils/helpers/object.js.map +1 -0
  207. package/dist/shared/utils/helpers/runtime.d.ts +6 -0
  208. package/dist/shared/utils/helpers/runtime.d.ts.map +1 -0
  209. package/dist/shared/utils/helpers/runtime.js +33 -0
  210. package/dist/shared/utils/helpers/runtime.js.map +1 -0
  211. package/dist/shared/utils/helpers/string.d.ts +4 -0
  212. package/dist/shared/utils/helpers/string.d.ts.map +1 -0
  213. package/dist/shared/utils/helpers/string.js +29 -0
  214. package/dist/shared/utils/helpers/string.js.map +1 -0
  215. package/dist/shared/utils/validators/asn.d.ts +3 -0
  216. package/dist/shared/utils/validators/asn.d.ts.map +1 -0
  217. package/dist/shared/utils/validators/asn.js +30 -0
  218. package/dist/shared/utils/validators/asn.js.map +1 -0
  219. package/dist/shared/utils/validators/domain.d.ts +3 -0
  220. package/dist/shared/utils/validators/domain.d.ts.map +1 -0
  221. package/dist/shared/utils/validators/domain.js +34 -0
  222. package/dist/shared/utils/validators/domain.js.map +1 -0
  223. package/dist/shared/utils/validators/index.d.ts +5 -0
  224. package/dist/shared/utils/validators/index.d.ts.map +1 -0
  225. package/dist/shared/utils/validators/index.js +19 -0
  226. package/dist/shared/utils/validators/index.js.map +1 -0
  227. package/dist/shared/utils/validators/ip.d.ts +5 -0
  228. package/dist/shared/utils/validators/ip.d.ts.map +1 -0
  229. package/dist/shared/utils/validators/ip.js +55 -0
  230. package/dist/shared/utils/validators/ip.js.map +1 -0
  231. package/dist/shared/utils/validators/network.d.ts +4 -0
  232. package/dist/shared/utils/validators/network.d.ts.map +1 -0
  233. package/dist/shared/utils/validators/network.js +48 -0
  234. package/dist/shared/utils/validators/network.js.map +1 -0
  235. package/package.json +108 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SSRFProtection.js","sourceRoot":"","sources":["../../../src/infrastructure/security/SSRFProtection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { SSRFProtection } from './SSRFProtection';
2
+ export { PIIRedactor } from './PIIRedactor';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PIIRedactor = exports.SSRFProtection = void 0;
4
+ var SSRFProtection_1 = require("./SSRFProtection");
5
+ Object.defineProperty(exports, "SSRFProtection", { enumerable: true, get: function () { return SSRFProtection_1.SSRFProtection; } });
6
+ var PIIRedactor_1 = require("./PIIRedactor");
7
+ Object.defineProperty(exports, "PIIRedactor", { enumerable: true, get: function () { return PIIRedactor_1.PIIRedactor; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/security/index.ts"],"names":[],"mappings":";;;AAKA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,26 @@
1
+ export declare const DEFAULT_TIMEOUTS: {
2
+ readonly connect: 5000;
3
+ readonly request: 10000;
4
+ readonly dns: 3000;
5
+ };
6
+ export declare const DEFAULT_RETRY_CONFIG: {
7
+ maxAttempts: number;
8
+ initialDelay: number;
9
+ maxDelay: number;
10
+ backoff: "exponential";
11
+ };
12
+ export declare const DEFAULT_REDIRECT_CONFIG: {
13
+ readonly followRedirects: true;
14
+ readonly maxRedirects: 5;
15
+ };
16
+ export declare const HTTP_STATUS: {
17
+ readonly OK: 200;
18
+ readonly BAD_REQUEST: 400;
19
+ readonly FORBIDDEN: 403;
20
+ readonly NOT_FOUND: 404;
21
+ readonly TIMEOUT: 408;
22
+ readonly TOO_MANY_REQUESTS: 429;
23
+ readonly INTERNAL_SERVER_ERROR: 500;
24
+ readonly SERVICE_UNAVAILABLE: 503;
25
+ };
26
+ //# sourceMappingURL=http.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/http.constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAKX,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC;AAKF,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAKX,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HTTP_STATUS = exports.DEFAULT_REDIRECT_CONFIG = exports.DEFAULT_RETRY_CONFIG = exports.DEFAULT_TIMEOUTS = void 0;
4
+ exports.DEFAULT_TIMEOUTS = {
5
+ connect: 5000,
6
+ request: 10000,
7
+ dns: 3000,
8
+ };
9
+ exports.DEFAULT_RETRY_CONFIG = {
10
+ maxAttempts: 3,
11
+ initialDelay: 1000,
12
+ maxDelay: 10000,
13
+ backoff: 'exponential',
14
+ };
15
+ exports.DEFAULT_REDIRECT_CONFIG = {
16
+ followRedirects: true,
17
+ maxRedirects: 5,
18
+ };
19
+ exports.HTTP_STATUS = {
20
+ OK: 200,
21
+ BAD_REQUEST: 400,
22
+ FORBIDDEN: 403,
23
+ NOT_FOUND: 404,
24
+ TIMEOUT: 408,
25
+ TOO_MANY_REQUESTS: 429,
26
+ INTERNAL_SERVER_ERROR: 500,
27
+ SERVICE_UNAVAILABLE: 503,
28
+ };
29
+ //# sourceMappingURL=http.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/http.constants.ts"],"names":[],"mappings":";;;AAQa,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,IAAI;CACD,CAAC;AAKE,QAAA,oBAAoB,GAAG;IAClC,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,aAAsB;CAChC,CAAC;AAKW,QAAA,uBAAuB,GAAG;IACrC,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC;CACP,CAAC;AAKE,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,GAAG;IACZ,iBAAiB,EAAE,GAAG;IACtB,qBAAqB,EAAE,GAAG;IAC1B,mBAAmB,EAAE,GAAG;CAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './rdap.constants';
2
+ export * from './http.constants';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/index.ts"],"names":[],"mappings":"AAKA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./rdap.constants"), exports);
5
+ tslib_1.__exportStar(require("./http.constants"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/constants/index.ts"],"names":[],"mappings":";;;AAKA,2DAAiC;AACjC,2DAAiC"}
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_BOOTSTRAP_URL = "https://data.iana.org/rdap";
2
+ export declare const DEFAULT_CACHE_TTL = 3600;
3
+ export declare const DEFAULT_CACHE_MAX_SIZE = 1000;
4
+ export declare const BOOTSTRAP_CACHE_TTL = 86400000;
5
+ export declare const DEFAULT_USER_AGENT = "RDAPify/0.1.0-alpha.4 (https://github.com/rdapify/rdapify)";
6
+ export declare const RDAP_CONTENT_TYPES: readonly ["application/rdap+json", "application/json"];
7
+ export declare const RDAP_OBJECT_CLASSES: readonly ["domain", "ip network", "autnum", "nameserver", "entity"];
8
+ export declare const BOOTSTRAP_TYPES: readonly ["dns", "ipv4", "ipv6", "asn"];
9
+ //# sourceMappingURL=rdap.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdap.constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAKlE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAKtC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAK3C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAK5C,eAAO,MAAM,kBAAkB,+DAA+D,CAAC;AAK/F,eAAO,MAAM,kBAAkB,wDAGrB,CAAC;AAKX,eAAO,MAAM,mBAAmB,qEAMtB,CAAC;AAKX,eAAO,MAAM,eAAe,yCAA0C,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BOOTSTRAP_TYPES = exports.RDAP_OBJECT_CLASSES = exports.RDAP_CONTENT_TYPES = exports.DEFAULT_USER_AGENT = exports.BOOTSTRAP_CACHE_TTL = exports.DEFAULT_CACHE_MAX_SIZE = exports.DEFAULT_CACHE_TTL = exports.DEFAULT_BOOTSTRAP_URL = void 0;
4
+ exports.DEFAULT_BOOTSTRAP_URL = 'https://data.iana.org/rdap';
5
+ exports.DEFAULT_CACHE_TTL = 3600;
6
+ exports.DEFAULT_CACHE_MAX_SIZE = 1000;
7
+ exports.BOOTSTRAP_CACHE_TTL = 86400000;
8
+ exports.DEFAULT_USER_AGENT = 'RDAPify/0.1.0-alpha.4 (https://github.com/rdapify/rdapify)';
9
+ exports.RDAP_CONTENT_TYPES = [
10
+ 'application/rdap+json',
11
+ 'application/json',
12
+ ];
13
+ exports.RDAP_OBJECT_CLASSES = [
14
+ 'domain',
15
+ 'ip network',
16
+ 'autnum',
17
+ 'nameserver',
18
+ 'entity',
19
+ ];
20
+ exports.BOOTSTRAP_TYPES = ['dns', 'ipv4', 'ipv6', 'asn'];
21
+ //# sourceMappingURL=rdap.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdap.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/rdap.constants.ts"],"names":[],"mappings":";;;AAQa,QAAA,qBAAqB,GAAG,4BAA4B,CAAC;AAKrD,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAKzB,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAK9B,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAK/B,QAAA,kBAAkB,GAAG,4DAA4D,CAAC;AAKlF,QAAA,kBAAkB,GAAG;IAChC,uBAAuB;IACvB,kBAAkB;CACV,CAAC;AAKE,QAAA,mBAAmB,GAAG;IACjC,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,QAAQ;CACA,CAAC;AAKE,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC"}
@@ -0,0 +1,44 @@
1
+ export declare class RDAPifyError extends Error {
2
+ readonly code: string;
3
+ readonly statusCode?: number;
4
+ readonly context?: Record<string, any>;
5
+ readonly timestamp: number;
6
+ readonly suggestion?: string;
7
+ constructor(message: string, code: string, statusCode?: number, context?: Record<string, any>, suggestion?: string);
8
+ toJSON(): Record<string, any>;
9
+ getUserMessage(): string;
10
+ }
11
+ export declare class ValidationError extends RDAPifyError {
12
+ constructor(message: string, context?: Record<string, any>, suggestion?: string);
13
+ }
14
+ export declare class NetworkError extends RDAPifyError {
15
+ constructor(message: string, statusCode?: number, context?: Record<string, any>, suggestion?: string);
16
+ }
17
+ export declare class TimeoutError extends RDAPifyError {
18
+ constructor(message: string, context?: Record<string, any>, suggestion?: string);
19
+ }
20
+ export declare class RDAPServerError extends RDAPifyError {
21
+ constructor(message: string, statusCode: number, context?: Record<string, any>, suggestion?: string);
22
+ }
23
+ export declare class NoServerFoundError extends RDAPifyError {
24
+ constructor(message: string, context?: Record<string, any>);
25
+ }
26
+ export declare class ParseError extends RDAPifyError {
27
+ constructor(message: string, context?: Record<string, any>);
28
+ }
29
+ export declare class CacheError extends RDAPifyError {
30
+ constructor(message: string, context?: Record<string, any>);
31
+ }
32
+ export declare class RateLimitError extends RDAPifyError {
33
+ readonly retryAfter?: number;
34
+ constructor(message: string, context?: Record<string, any>, retryAfter?: number);
35
+ }
36
+ export declare class SSRFProtectionError extends RDAPifyError {
37
+ constructor(message: string, context?: Record<string, any>);
38
+ }
39
+ export declare function isRDAPifyError(error: unknown): error is RDAPifyError;
40
+ export declare function isSSRFProtectionError(error: unknown): error is SSRFProtectionError;
41
+ export declare function isNetworkError(error: unknown): error is NetworkError;
42
+ export declare function isTimeoutError(error: unknown): error is TimeoutError;
43
+ export declare function isRateLimitError(error: unknown): error is RateLimitError;
44
+ //# sourceMappingURL=base.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/base.error.ts"],"names":[],"mappings":"AAQA,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM;IAmBrB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAe7B,cAAc,IAAI,MAAM;CAOzB;AAKD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;CAShF;AAKD,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;CASrG;AAKD,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;CAShF;AAKD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;CAWpG;AAKD,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG3D;AAKD,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG3D;AAKD,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG3D;AAKD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;CAQhF;AAKD,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG3D;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SSRFProtectionError = exports.RateLimitError = exports.CacheError = exports.ParseError = exports.NoServerFoundError = exports.RDAPServerError = exports.TimeoutError = exports.NetworkError = exports.ValidationError = exports.RDAPifyError = void 0;
4
+ exports.isRDAPifyError = isRDAPifyError;
5
+ exports.isSSRFProtectionError = isSSRFProtectionError;
6
+ exports.isNetworkError = isNetworkError;
7
+ exports.isTimeoutError = isTimeoutError;
8
+ exports.isRateLimitError = isRateLimitError;
9
+ class RDAPifyError extends Error {
10
+ constructor(message, code, statusCode, context, suggestion) {
11
+ super(message);
12
+ this.name = this.constructor.name;
13
+ this.code = code;
14
+ this.statusCode = statusCode;
15
+ this.context = context;
16
+ this.timestamp = Date.now();
17
+ this.suggestion = suggestion;
18
+ if (Error.captureStackTrace) {
19
+ Error.captureStackTrace(this, this.constructor);
20
+ }
21
+ }
22
+ toJSON() {
23
+ return {
24
+ name: this.name,
25
+ code: this.code,
26
+ message: this.message,
27
+ statusCode: this.statusCode,
28
+ context: this.context,
29
+ timestamp: this.timestamp,
30
+ suggestion: this.suggestion,
31
+ };
32
+ }
33
+ getUserMessage() {
34
+ const parts = [this.message];
35
+ if (this.suggestion) {
36
+ parts.push(`Suggestion: ${this.suggestion}`);
37
+ }
38
+ return parts.join('. ');
39
+ }
40
+ }
41
+ exports.RDAPifyError = RDAPifyError;
42
+ class ValidationError extends RDAPifyError {
43
+ constructor(message, context, suggestion) {
44
+ super(message, 'VALIDATION_ERROR', 400, context, suggestion || 'Please check your input and try again');
45
+ }
46
+ }
47
+ exports.ValidationError = ValidationError;
48
+ class NetworkError extends RDAPifyError {
49
+ constructor(message, statusCode, context, suggestion) {
50
+ super(message, 'NETWORK_ERROR', statusCode || 500, context, suggestion || 'Check your network connection and try again');
51
+ }
52
+ }
53
+ exports.NetworkError = NetworkError;
54
+ class TimeoutError extends RDAPifyError {
55
+ constructor(message, context, suggestion) {
56
+ super(message, 'TIMEOUT_ERROR', 408, context, suggestion || 'The request took too long. Try increasing the timeout or check the server status');
57
+ }
58
+ }
59
+ exports.TimeoutError = TimeoutError;
60
+ class RDAPServerError extends RDAPifyError {
61
+ constructor(message, statusCode, context, suggestion) {
62
+ const defaultSuggestion = statusCode === 404
63
+ ? 'The requested resource was not found. Verify the domain/IP/ASN exists'
64
+ : statusCode === 429
65
+ ? 'Rate limit exceeded. Wait a moment before retrying'
66
+ : statusCode >= 500
67
+ ? 'The RDAP server is experiencing issues. Try again later'
68
+ : 'Check the RDAP server status and try again';
69
+ super(message, 'RDAP_SERVER_ERROR', statusCode, context, suggestion || defaultSuggestion);
70
+ }
71
+ }
72
+ exports.RDAPServerError = RDAPServerError;
73
+ class NoServerFoundError extends RDAPifyError {
74
+ constructor(message, context) {
75
+ super(message, 'NO_SERVER_FOUND', 404, context);
76
+ }
77
+ }
78
+ exports.NoServerFoundError = NoServerFoundError;
79
+ class ParseError extends RDAPifyError {
80
+ constructor(message, context) {
81
+ super(message, 'PARSE_ERROR', 500, context);
82
+ }
83
+ }
84
+ exports.ParseError = ParseError;
85
+ class CacheError extends RDAPifyError {
86
+ constructor(message, context) {
87
+ super(message, 'CACHE_ERROR', 500, context);
88
+ }
89
+ }
90
+ exports.CacheError = CacheError;
91
+ class RateLimitError extends RDAPifyError {
92
+ constructor(message, context, retryAfter) {
93
+ const suggestion = retryAfter
94
+ ? `Rate limit exceeded. Retry after ${retryAfter}ms`
95
+ : 'Rate limit exceeded. Slow down your requests';
96
+ super(message, 'RATE_LIMIT_ERROR', 429, context, suggestion);
97
+ this.retryAfter = retryAfter;
98
+ }
99
+ }
100
+ exports.RateLimitError = RateLimitError;
101
+ class SSRFProtectionError extends RDAPifyError {
102
+ constructor(message, context) {
103
+ super(message, 'SSRF_PROTECTION_ERROR', 403, context);
104
+ }
105
+ }
106
+ exports.SSRFProtectionError = SSRFProtectionError;
107
+ function isRDAPifyError(error) {
108
+ return error instanceof RDAPifyError;
109
+ }
110
+ function isSSRFProtectionError(error) {
111
+ return error instanceof SSRFProtectionError;
112
+ }
113
+ function isNetworkError(error) {
114
+ return error instanceof NetworkError;
115
+ }
116
+ function isTimeoutError(error) {
117
+ return error instanceof TimeoutError;
118
+ }
119
+ function isRateLimitError(error) {
120
+ return error instanceof RateLimitError;
121
+ }
122
+ //# sourceMappingURL=base.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.error.js","sourceRoot":"","sources":["../../../src/shared/errors/base.error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './base.error';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./base.error"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/errors/index.ts"],"names":[],"mappings":";;;AAKA,uDAA6B"}
@@ -0,0 +1,50 @@
1
+ import type { EventType, RoleType, RDAPStatus } from './enums';
2
+ export interface RDAPEvent {
3
+ type: EventType;
4
+ date: string;
5
+ actor?: string;
6
+ }
7
+ export interface RDAPLink {
8
+ value?: string;
9
+ rel?: string;
10
+ href: string;
11
+ hreflang?: string[];
12
+ title?: string;
13
+ media?: string;
14
+ type?: string;
15
+ }
16
+ export interface RDAPRemark {
17
+ title?: string;
18
+ type?: string;
19
+ description?: string[];
20
+ links?: RDAPLink[];
21
+ }
22
+ export interface RDAPEntity {
23
+ handle?: string;
24
+ roles?: RoleType[];
25
+ vcardArray?: any[];
26
+ publicIds?: Array<{
27
+ type: string;
28
+ identifier: string;
29
+ }>;
30
+ entities?: RDAPEntity[];
31
+ remarks?: RDAPRemark[];
32
+ links?: RDAPLink[];
33
+ events?: RDAPEvent[];
34
+ status?: RDAPStatus[];
35
+ }
36
+ export interface RDAPNameserver {
37
+ handle?: string;
38
+ ldhName?: string;
39
+ unicodeName?: string;
40
+ ipAddresses?: {
41
+ v4?: string[];
42
+ v6?: string[];
43
+ };
44
+ status?: RDAPStatus[];
45
+ entities?: RDAPEntity[];
46
+ remarks?: RDAPRemark[];
47
+ links?: RDAPLink[];
48
+ events?: RDAPEvent[];
49
+ }
50
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/shared/types/entities.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB;AAKD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAKD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/shared/types/entities.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export type QueryType = 'domain' | 'ip' | 'asn' | 'nameserver' | 'entity';
2
+ export type ObjectClass = 'domain' | 'ip network' | 'autnum' | 'nameserver' | 'entity';
3
+ export type RDAPStatus = 'validated' | 'renew prohibited' | 'update prohibited' | 'transfer prohibited' | 'delete prohibited' | 'proxy' | 'private' | 'removed' | 'obscured' | 'associated' | 'active' | 'inactive' | 'locked' | 'pending create' | 'pending renew' | 'pending transfer' | 'pending update' | 'pending delete';
4
+ export type EventType = 'registration' | 'reregistration' | 'last changed' | 'expiration' | 'deletion' | 'reinstantiation' | 'transfer' | 'locked' | 'unlocked';
5
+ export type RoleType = 'registrant' | 'technical' | 'administrative' | 'abuse' | 'billing' | 'registrar' | 'reseller' | 'sponsor' | 'proxy' | 'notifications' | 'noc';
6
+ export type CacheStrategy = 'memory' | 'redis' | 'custom' | 'none';
7
+ export type BackoffStrategy = 'linear' | 'exponential' | 'fixed';
8
+ export type { BackoffStrategy as BackoffStrategyType };
9
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
10
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/shared/types/enums.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAK1E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAKvF,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,GACnB,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,CAAC;AAKrB,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,QAAQ,GACR,UAAU,CAAC;AAKf,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,OAAO,GACP,eAAe,GACf,KAAK,CAAC;AAKV,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAKnE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;AAKjE,YAAY,EAAE,eAAe,IAAI,mBAAmB,EAAE,CAAC;AAKvD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shared/types/enums.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ export declare class RDAPifyError extends Error {
2
+ readonly code: string;
3
+ readonly statusCode?: number;
4
+ readonly details?: any;
5
+ constructor(message: string, code: string, statusCode?: number, details?: any);
6
+ }
7
+ export declare class SSRFProtectionError extends RDAPifyError {
8
+ constructor(message: string, details?: any);
9
+ }
10
+ export declare class NetworkError extends RDAPifyError {
11
+ constructor(message: string, statusCode?: number, details?: any);
12
+ }
13
+ export declare class TimeoutError extends RDAPifyError {
14
+ constructor(message: string, details?: any);
15
+ }
16
+ export declare class RDAPServerError extends RDAPifyError {
17
+ constructor(message: string, statusCode: number, details?: any);
18
+ }
19
+ export declare class NoServerFoundError extends RDAPifyError {
20
+ constructor(message: string, details?: any);
21
+ }
22
+ export declare class ValidationError extends RDAPifyError {
23
+ constructor(message: string, details?: any);
24
+ }
25
+ export declare class ParseError extends RDAPifyError {
26
+ constructor(message: string, details?: any);
27
+ }
28
+ export declare class CacheError extends RDAPifyError {
29
+ constructor(message: string, details?: any);
30
+ }
31
+ export declare class RateLimitError extends RDAPifyError {
32
+ readonly retryAfter?: number;
33
+ constructor(message: string, retryAfter?: number, details?: any);
34
+ }
35
+ export declare function isRDAPifyError(error: any): error is RDAPifyError;
36
+ export declare function isSSRFProtectionError(error: any): error is SSRFProtectionError;
37
+ export declare function isNetworkError(error: any): error is NetworkError;
38
+ export declare function isTimeoutError(error: any): error is TimeoutError;
39
+ export declare function isRateLimitError(error: any): error is RateLimitError;
40
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/types/errors.ts"],"names":[],"mappings":"AAQA,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAY9E;AAKD,qBAAa,mBAAoB,SAAQ,YAAY;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAIhE;AAKD,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI/D;AAKD,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAKD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAKhE;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAEhE;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,mBAAmB,CAE9E;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAEhE;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,YAAY,CAEhE;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,cAAc,CAEpE"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateLimitError = exports.CacheError = exports.ParseError = exports.ValidationError = exports.NoServerFoundError = exports.RDAPServerError = exports.TimeoutError = exports.NetworkError = exports.SSRFProtectionError = exports.RDAPifyError = void 0;
4
+ exports.isRDAPifyError = isRDAPifyError;
5
+ exports.isSSRFProtectionError = isSSRFProtectionError;
6
+ exports.isNetworkError = isNetworkError;
7
+ exports.isTimeoutError = isTimeoutError;
8
+ exports.isRateLimitError = isRateLimitError;
9
+ class RDAPifyError extends Error {
10
+ constructor(message, code, statusCode, details) {
11
+ super(message);
12
+ this.name = 'RDAPifyError';
13
+ this.code = code;
14
+ this.statusCode = statusCode;
15
+ this.details = details;
16
+ if (Error.captureStackTrace) {
17
+ Error.captureStackTrace(this, this.constructor);
18
+ }
19
+ }
20
+ }
21
+ exports.RDAPifyError = RDAPifyError;
22
+ class SSRFProtectionError extends RDAPifyError {
23
+ constructor(message, details) {
24
+ super(message, 'SSRF_PROTECTION', 403, details);
25
+ this.name = 'SSRFProtectionError';
26
+ }
27
+ }
28
+ exports.SSRFProtectionError = SSRFProtectionError;
29
+ class NetworkError extends RDAPifyError {
30
+ constructor(message, statusCode, details) {
31
+ super(message, 'NETWORK_ERROR', statusCode, details);
32
+ this.name = 'NetworkError';
33
+ }
34
+ }
35
+ exports.NetworkError = NetworkError;
36
+ class TimeoutError extends RDAPifyError {
37
+ constructor(message, details) {
38
+ super(message, 'TIMEOUT', 408, details);
39
+ this.name = 'TimeoutError';
40
+ }
41
+ }
42
+ exports.TimeoutError = TimeoutError;
43
+ class RDAPServerError extends RDAPifyError {
44
+ constructor(message, statusCode, details) {
45
+ super(message, 'RDAP_SERVER_ERROR', statusCode, details);
46
+ this.name = 'RDAPServerError';
47
+ }
48
+ }
49
+ exports.RDAPServerError = RDAPServerError;
50
+ class NoServerFoundError extends RDAPifyError {
51
+ constructor(message, details) {
52
+ super(message, 'NO_SERVER_FOUND', 404, details);
53
+ this.name = 'NoServerFoundError';
54
+ }
55
+ }
56
+ exports.NoServerFoundError = NoServerFoundError;
57
+ class ValidationError extends RDAPifyError {
58
+ constructor(message, details) {
59
+ super(message, 'VALIDATION_ERROR', 400, details);
60
+ this.name = 'ValidationError';
61
+ }
62
+ }
63
+ exports.ValidationError = ValidationError;
64
+ class ParseError extends RDAPifyError {
65
+ constructor(message, details) {
66
+ super(message, 'PARSE_ERROR', 500, details);
67
+ this.name = 'ParseError';
68
+ }
69
+ }
70
+ exports.ParseError = ParseError;
71
+ class CacheError extends RDAPifyError {
72
+ constructor(message, details) {
73
+ super(message, 'CACHE_ERROR', 500, details);
74
+ this.name = 'CacheError';
75
+ }
76
+ }
77
+ exports.CacheError = CacheError;
78
+ class RateLimitError extends RDAPifyError {
79
+ constructor(message, retryAfter, details) {
80
+ super(message, 'RATE_LIMIT_EXCEEDED', 429, details);
81
+ this.name = 'RateLimitError';
82
+ this.retryAfter = retryAfter;
83
+ }
84
+ }
85
+ exports.RateLimitError = RateLimitError;
86
+ function isRDAPifyError(error) {
87
+ return error instanceof RDAPifyError;
88
+ }
89
+ function isSSRFProtectionError(error) {
90
+ return error instanceof SSRFProtectionError;
91
+ }
92
+ function isNetworkError(error) {
93
+ return error instanceof NetworkError;
94
+ }
95
+ function isTimeoutError(error) {
96
+ return error instanceof TimeoutError;
97
+ }
98
+ function isRateLimitError(error) {
99
+ return error instanceof RateLimitError;
100
+ }
101
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/types/errors.ts"],"names":[],"mappings":";;;AA2HA,wCAEC;AAKD,sDAEC;AAKD,wCAEC;AAKD,wCAEC;AAKD,4CAEC;AAjJD,MAAa,YAAa,SAAQ,KAAK;IAKrC,YAAY,OAAe,EAAE,IAAY,EAAE,UAAmB,EAAE,OAAa;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAGvB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAjBD,oCAiBC;AAKD,MAAa,mBAAoB,SAAQ,YAAY;IACnD,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAKD,MAAa,YAAa,SAAQ,YAAY;IAC5C,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAa;QAC7D,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAKD,MAAa,YAAa,SAAQ,YAAY;IAC5C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAKD,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAE,UAAkB,EAAE,OAAa;QAC5D,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAKD,MAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAKD,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAKD,MAAa,UAAW,SAAQ,YAAY;IAC1C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AALD,gCAKC;AAKD,MAAa,UAAW,SAAQ,YAAY;IAC1C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AALD,gCAKC;AAKD,MAAa,cAAe,SAAQ,YAAY;IAG9C,YAAY,OAAe,EAAE,UAAmB,EAAE,OAAa;QAC7D,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AARD,wCAQC;AAKD,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,KAAK,YAAY,YAAY,CAAC;AACvC,CAAC;AAKD,SAAgB,qBAAqB,CAAC,KAAU;IAC9C,OAAO,KAAK,YAAY,mBAAmB,CAAC;AAC9C,CAAC;AAKD,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,KAAK,YAAY,YAAY,CAAC;AACvC,CAAC;AAKD,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,KAAK,YAAY,YAAY,CAAC;AACvC,CAAC;AAKD,SAAgB,gBAAgB,CAAC,KAAU;IACzC,OAAO,KAAK,YAAY,cAAc,CAAC;AACzC,CAAC"}