UNPKG

@statezero/statezero-tunnel

Version:

Tunnelmole client for StateZero users to create secure tunnels to their local services.

48 lines (38 loc) 1.42 kB
import fetch from "node-fetch"; import config from "../../config.js"; import { getApiKey } from "../identity/api-key-service.js" interface UnReserveDomainRequest { apiKey: string subdomain: string } const unreserveDomain = async function(subdomain: string): Promise<void> { subdomain = subdomain.replace(".tunnelmole.net", ""); subdomain = subdomain.replace(".tunnelmole.com", ""); const unreserveDomainEndpoint = `${config.hostip.httpEndpoint}/tunnelmole/unreserve-subdomain`; const apiKey = await getApiKey(); if (apiKey === undefined) { console.error("Subdomains are linked to API Keys, so to reserve and unreserve domains you need to set your API key with --set-api-key"); return Promise.resolve(); } const data: UnReserveDomainRequest = { apiKey, subdomain } try { await fetch(unreserveDomainEndpoint, { method: "DELETE", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data) }); } catch (error) { console.error(`There was an error while trying to unreserve the subdomain ${subdomain}, see below`); console.error(error); } console.info(`If the subdomain ${subdomain} exists and it belongs to your API key, it has been unreserved`); return Promise.resolve(); } export { unreserveDomain }