Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
19 lines
1.1 KiB
Text
19 lines
1.1 KiB
Text
import { loadConfig } from "@smithy/node-config-provider";
|
|
import { parseUrl } from "@smithy/url-parser";
|
|
import { Endpoint as InstanceMetadataEndpoint } from "../config/Endpoint";
|
|
import { ENDPOINT_CONFIG_OPTIONS } from "../config/EndpointConfigOptions";
|
|
import { EndpointMode } from "../config/EndpointMode";
|
|
import { ENDPOINT_MODE_CONFIG_OPTIONS, } from "../config/EndpointModeConfigOptions";
|
|
export const getInstanceMetadataEndpoint = async () => parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));
|
|
const getFromEndpointConfig = async () => loadConfig(ENDPOINT_CONFIG_OPTIONS)();
|
|
const getFromEndpointModeConfig = async () => {
|
|
const endpointMode = await loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();
|
|
switch (endpointMode) {
|
|
case EndpointMode.IPv4:
|
|
return InstanceMetadataEndpoint.IPv4;
|
|
case EndpointMode.IPv6:
|
|
return InstanceMetadataEndpoint.IPv6;
|
|
default:
|
|
throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);
|
|
}
|
|
};
|