@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
49 lines (48 loc) • 2.12 kB
TypeScript
/**
* Shared NO_PROXY utility functions
* Extracted from awsProxyIntegration.ts and proxyFetch.ts to eliminate duplication
* Supports comprehensive NO_PROXY pattern matching including wildcards, domains, ports, and CIDR
*/
/**
* NO_PROXY bypass check. The value is a comma- or space-separated list; each
* entry is matched case-insensitively.
*
* Supported entries:
* - "*" - bypass all requests
* - "example.com", ".example.com", "*.example.com" - the host and any subdomain
* - "example.com:8443" - the same, on that port only; a URL without a port is
* on the scheme's default (80 for http, 443 for https)
* - "example.com." - the same as "example.com": one trailing dot is ignored on
* an entry and on the URL's host name, so "https://api.example.com./" matches
* - "192.168.1.10", "::1", "[::1]:8080" - an IP literal, exactly
* - "192.168.1.0/24" - an IPv4 CIDR range, for IPv4 literal targets (IPv6 CIDR
* ranges are not supported)
* - "." and ".." - an entry made only of dots names no host, so it matches
* nothing, as in curl
*
* @param targetUrl - The URL to check for proxy bypass
* @param noProxyEnv - Optional NO_PROXY environment variable value (if not provided, reads from process.env)
* @returns true if the URL should bypass proxy, false otherwise
*/
export declare function shouldBypassProxy(targetUrl: string, noProxyEnv?: string): boolean;
/**
* Get the current NO_PROXY environment variable value
* Checks both uppercase and lowercase variants
*/
export declare function getNoProxyEnv(): string | undefined;
/**
* Simple NO_PROXY bypass check with basic pattern support
* Legacy function for backward compatibility with simpler use cases
*
* Supports:
* - "*" - bypass all
* - "example.com" - exact match
* - ".example.com" - domain suffix match
*
* An entry made only of dots names no host and matches nothing.
*
* @param targetUrl - The URL to check
* @param noProxyValue - The NO_PROXY value to check against
* @returns true if should bypass proxy
*/
export declare function shouldBypassProxySimple(targetUrl: string, noProxyValue: string): boolean;