API reference
yatta/doh
DNS over HTTPS: wire and JSON shapes, plus a client.
11 exported symbols and 10 members, read from src/func/doh.ts.
Construct
createDoHHandler
functioncreateDoHHandler(resolver?: DnsResolver, options?: { path?: string; }): (req: Request) => Promise<Response>decodeQuery
functiondecodeQuery(data: Uint8Array): DnsQuerydecodeResponse
functiondecodeResponse(data: Uint8Array): DecodedResponseencodeQuery
functionencodeQuery(id: number, name: string, type: number): Uint8ArrayencodeResponse
functionresolveDoH
async functionresolveDoH(endpoint: string, name: string, type?: DnsRecordType): Promise<DnsAnswer[]>Types
DecodedResponse
interfaceinterface DecodedResponse3 members
idpropertyid: numberrcodepropertyrcode: numberanswerspropertyanswers: DnsAnswer[]
DnsAnswer
interfaceinterface DnsAnswer4 members
namepropertyname: stringtypepropertytype: DnsRecordTypettlpropertyttl: numberaddresspropertyaddress: string
DnsQuery
interfaceinterface DnsQuery3 members
idpropertyid: numbernamepropertyname: stringtypepropertytype: number
DnsRecordType
typetype DnsRecordType = "A" | "AAAA"DnsResolver
typetype DnsResolver = (name: string, type: DnsRecordType) => Promise<DnsAnswer[]>Tip
Most of the types above are inferred. You rarely import
AuthConfig or JobPayload — declaring your schema once is enough for the rest to follow. See Typed keys.