export type DomainFilter = string; export type SeenBefore = number | string; export type SeenAfter = number | string; export type SessionID = string; export type FromBeginningFlag = boolean; export type FeedResultsLimit = number; export type CsvHeadersFlag = boolean; export type GetApiV1FeedDomainrdapArgs = {domain?: DomainFilter | undefined, before?: SeenBefore | undefined, after?: SeenAfter | undefined, sessionID?: SessionID | undefined, fromBeginning?: FromBeginningFlag | undefined, top?: FeedResultsLimit | undefined, headers?: CsvHeadersFlag | undefined, api_username?: string | undefined, signature?: string | undefined, timestamp?: string | undefined, app_partner?: string | undefined, app_name?: string | undefined, app_version?: string | undefined}; export type GetApiV1FeedDomainrdapOptions = {baseUrl?: string | undefined, apiKeyAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Returns data from the real-time Parsed Domain RDAP Feed. * * GET /v1/feed/domainrdap/ * * Also accepts auth: httpBasicAuth, hmacAuth */ export const getApiV1FeedDomainrdap = async (args: GetApiV1FeedDomainrdapArgs, options?: GetApiV1FeedDomainrdapOptions) => { const {baseUrl = "https://api.domaintools.com", fetch: fetchFn = fetch, apiKeyAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/x-ndjson") if (args.domain != null) query.append("domain", String(args.domain)) if (args.before != null) query.append("before", String(args.before)) if (args.after != null) query.append("after", String(args.after)) if (args.sessionID != null) query.append("sessionID", String(args.sessionID)) if (args.fromBeginning != null) query.append("fromBeginning", String(args.fromBeginning)) if (args.top != null) query.append("top", String(args.top)) if (args.headers != null) query.append("headers", String(args.headers)) if (args.api_username != null) query.append("api_username", String(args.api_username)) if (args.signature != null) query.append("signature", String(args.signature)) if (args.timestamp != null) query.append("timestamp", String(args.timestamp)) if (args.app_partner != null) query.append("app_partner", String(args.app_partner)) if (args.app_name != null) query.append("app_name", String(args.app_name)) if (args.app_version != null) query.append("app_version", String(args.app_version)) if (apiKeyAuth !== undefined) headers.set("X-Api-Key", apiKeyAuth) const url = `${baseUrl.replace(/\/+$/, '')}/v1/feed/domainrdap/${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };