Compare commits
38 Commits
v0.0.1
...
v0.0.2-dev
Author | SHA1 | Date |
---|---|---|
semantic-release-bot | 533b8a32d5 | |
Derrick Hammer | 2445de5711 | |
Derrick Hammer | fb6b5c4b52 | |
Derrick Hammer | 03503c1b77 | |
Derrick Hammer | 4642c10bf2 | |
Derrick Hammer | 69bb1f7c60 | |
Derrick Hammer | 6f6a79599c | |
Derrick Hammer | 2bd13bb71b | |
Derrick Hammer | 1b50865939 | |
Derrick Hammer | e0a8465249 | |
Derrick Hammer | 2d76906fa5 | |
Derrick Hammer | 29d56b1ceb | |
Derrick Hammer | d9e0e654d8 | |
Derrick Hammer | e8954d7fe9 | |
Derrick Hammer | 657131b6ff | |
Derrick Hammer | 08f211d8fd | |
Derrick Hammer | cf3f54f2ee | |
Derrick Hammer | 5a9f7ebdcd | |
Derrick Hammer | cae357cd98 | |
Derrick Hammer | 13eb79ae7e | |
Derrick Hammer | ac12204391 | |
Derrick Hammer | dee297e0cd | |
Derrick Hammer | c2d428758d | |
Derrick Hammer | 89a17b5ac8 | |
Derrick Hammer | 90330d8dcd | |
Derrick Hammer | f691a24923 | |
Derrick Hammer | 37985d1010 | |
Derrick Hammer | f60d29b95a | |
Derrick Hammer | 2b747e72fa | |
Derrick Hammer | 9818d17a06 | |
Derrick Hammer | 0204e4d5e3 | |
Derrick Hammer | cf4df9dc91 | |
Derrick Hammer | 1c9b882642 | |
Derrick Hammer | ef787eba13 | |
Derrick Hammer | e06c86720f | |
Derrick Hammer | 8a88a43c20 | |
Derrick Hammer | 1fe0496312 | |
Derrick Hammer | 183199247d |
|
@ -0,0 +1,13 @@
|
||||||
|
name: Build/Publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
- develop-*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
uses: lumeweb/github-node-deploy-workflow/.github/workflows/main.yml@master
|
||||||
|
secrets: inherit
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"preset": [
|
||||||
|
"@lumeweb/node-library-preset"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
## [0.0.2-develop.1](https://git.lumeweb.com/LumeWeb/kernel-libresolver/compare/v0.0.1...v0.0.2-develop.1) (2023-07-05)
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2022 Lume Web
|
Copyright (c) 2022 Hammer Technologies LLC
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"name": "@lumeweb/kernel-libresolver",
|
||||||
|
"version": "0.0.2-develop.1",
|
||||||
|
"main": "lin/index.js",
|
||||||
|
"type": "module",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "gitea@git.lumeweb.com:LumeWeb/kernel-libresolver.git"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@lumeweb/node-library-preset": "^0.2.7",
|
||||||
|
"presetter": "*"
|
||||||
|
},
|
||||||
|
"readme": "ERROR: No README data found!",
|
||||||
|
"scripts": {
|
||||||
|
"prepare": "presetter bootstrap",
|
||||||
|
"build": "run build",
|
||||||
|
"semantic-release": "semantic-release"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@lumeweb/kernel-dns-client": "^0.0.2-develop.1",
|
||||||
|
"@lumeweb/libkernel": "^0.1.0-develop.14",
|
||||||
|
"@lumeweb/libresolver": "^0.0.2-develop.1"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"lib"
|
||||||
|
],
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { createClient } from "@lumeweb/kernel-dns-client";
|
||||||
|
|
||||||
|
export const dnsClient = createClient();
|
|
@ -0,0 +1,83 @@
|
||||||
|
import {
|
||||||
|
addHandler,
|
||||||
|
ActiveQuery,
|
||||||
|
handleMessage,
|
||||||
|
} from "@lumeweb/libkernel/module";
|
||||||
|
|
||||||
|
import type {
|
||||||
|
DNSResult,
|
||||||
|
ResolverModule as ResolverModuleBase,
|
||||||
|
} from "@lumeweb/libresolver";
|
||||||
|
import { DNS_RECORD_TYPE } from "@lumeweb/libresolver";
|
||||||
|
import { dnsClient } from "./client.js";
|
||||||
|
import { DnsClient } from "@lumeweb/kernel-dns-client";
|
||||||
|
import type { ResolverOptions } from "@lumeweb/libresolver";
|
||||||
|
|
||||||
|
let resolver: ResolverModule | ResolverModuleBase;
|
||||||
|
|
||||||
|
export interface ResolverModule {
|
||||||
|
get resolver(): DnsClient;
|
||||||
|
|
||||||
|
set resolver(value: DnsClient);
|
||||||
|
|
||||||
|
resolve(
|
||||||
|
domain: string,
|
||||||
|
options: ResolverOptions,
|
||||||
|
bypassCache: boolean,
|
||||||
|
): Promise<DNSResult>;
|
||||||
|
|
||||||
|
getSupportedTlds(): string[];
|
||||||
|
|
||||||
|
getSupportedTlds(): Promise<string[]>;
|
||||||
|
|
||||||
|
getSupportedTlds(): any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setup(rm: ResolverModule | ResolverModuleBase) {
|
||||||
|
addHandler("resolve", handleResolve);
|
||||||
|
addHandler("register", handleRegister);
|
||||||
|
addHandler("getSupportedTlds", handleGetSupportedTlds);
|
||||||
|
onmessage = handleMessage;
|
||||||
|
resolver = rm;
|
||||||
|
// @ts-ignore
|
||||||
|
resolver.resolver = dnsClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleRegister(aq: ActiveQuery) {
|
||||||
|
await dnsClient.register();
|
||||||
|
aq.respond();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleResolve(aq: ActiveQuery) {
|
||||||
|
if (!("domain" in aq.callerInput)) {
|
||||||
|
aq.reject("domain required");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let ret: DNSResult;
|
||||||
|
try {
|
||||||
|
ret = await resolver.resolve(
|
||||||
|
aq.callerInput.domain,
|
||||||
|
aq.callerInput?.options ?? { type: DNS_RECORD_TYPE.CONTENT },
|
||||||
|
aq.callerInput?.bypassCache || false,
|
||||||
|
);
|
||||||
|
} catch (e: any) {
|
||||||
|
aq.reject(e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret.error) {
|
||||||
|
aq.reject(ret.error as any);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
aq.respond(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleGetSupportedTlds(aq: ActiveQuery) {
|
||||||
|
aq.respond(resolver.getSupportedTlds());
|
||||||
|
}
|
||||||
|
|
||||||
|
export * from "@lumeweb/libresolver/lib/util.js";
|
||||||
|
export * from "@lumeweb/libresolver/lib/types.js";
|
||||||
|
export { AbstractResolverModule } from "@lumeweb/libresolver/lib/resolverModule.js";
|
Loading…
Reference in New Issue