utils/proxy/proxy_utils
library
Functions
-
Apply NODE_EXTRA_CA_CERTS from settings to the environment early in init.
-
clearCACertsCache()
→ void
-
Clear the CA certificates cache.
-
clearMTLSCache()
→ void
-
Clear the mTLS configuration cache.
-
clearProxyCache()
→ void
-
Clear proxy agent cache.
-
configureGlobalAgents()
→ void
-
Configure global HTTP agents for proxy and mTLS.
-
configureGlobalMTLS()
→ void
-
Configure global TLS settings.
-
createProxiedHttpClient({String? proxyUrl, SecurityContext? securityContext})
→ HttpClient
-
Create an HttpClient with proxy configuration.
-
disableKeepAlive()
→ void
-
Disable keep-alive globally (sticky for process lifetime).
-
getAddressFamily(dynamic family)
→ int
-
Convert DNS lookup options family to a numeric address family value.
-
Get authentication headers for API requests.
-
getAWSClientProxyConfig()
→ Future<Map<String, dynamic>>
-
Get AWS SDK client configuration with proxy support.
-
getCACertificates()
→ List<String>?
-
Load CA certificates for TLS connections.
-
getMCPUserAgent({required String version, String? entrypoint, String? agentSdkVersion, String? clientApp})
→ String
-
Get the MCP user agent string.
-
getMTLSConfig()
→ MTLSConfig?
-
Get mTLS configuration from environment variables.
-
getMTLSHttpClient()
→ HttpClient?
-
Create an HttpClient with mTLS configuration.
-
getNoProxy([EnvLike? env])
→ String?
-
Get the NO_PROXY environment variable value.
-
getProxyFetchOptions({bool forAnthropicAPI = false})
→ ProxyFetchOptions
-
Get fetch options with proxy and mTLS configuration.
-
getProxyUrl([EnvLike? env])
→ String?
-
Get the active proxy URL if one is configured.
Prefers lowercase variants over uppercase.
-
getTLSConfig()
→ TLSConfig?
-
Get TLS configuration for fetch-like operations.
-
getUserAgent({required String version, String? userType, String? entrypoint, String? agentSdkVersion, String? clientApp, String? workload})
→ String
-
Get the user agent string for API requests.
-
getWebFetchUserAgent({required String neomageUserAgent})
→ String
-
Get the WebFetch user agent string.
-
getWebSocketProxyClient(String url)
→ HttpClient?
-
Get an HTTP client for WebSocket proxy support.
Returns null if no proxy is configured or URL should bypass proxy.
-
getWebSocketProxyUrl(String url)
→ String?
-
Get the proxy URL for WebSocket connections.
Returns null if no proxy or URL should bypass proxy.
-
getWebSocketTLSContext()
→ SecurityContext?
-
Get TLS options for WebSocket connections.
-
isLocalhostUrl(String url)
→ bool
-
Check if a URL points to localhost.
-
isValidPemCertificate(String pem)
→ bool
-
Validate that a string is a valid PEM certificate.
-
isValidPemPrivateKey(String pem)
→ bool
-
Validate that a string is a valid PEM private key.
-
isValidProxyUrl(String url)
→ bool
-
Validates that the proxy URL is well-formed.
-
matchesNoProxyPattern(String hostname, String pattern)
→ bool
-
Check if a hostname matches a NO_PROXY pattern.
-
mergeNoProxy(List<String?> values)
→ String
-
Merge multiple NO_PROXY values (from different config sources).
-
parseNoProxy(String? noProxy)
→ List<String>
-
Parse NO_PROXY string into a list of patterns.
-
parsePemCertificates(String pemBundle)
→ List<String>
-
Certificate PEM parser: extract individual certificates from a PEM bundle.
-
parseProxyUrl(String url)
→ ParsedProxyUrl?
-
Parse a proxy URL into structured components.
-
resetKeepAliveForTesting()
→ void
-
Reset keep-alive for testing.
-
shouldBypassProxy(String urlString, [String? noProxy])
→ bool
-
Check if a URL should bypass the proxy based on NO_PROXY.
-
withOAuth401Retry<T>({required Future<T> request(), required Future<void> handleOAuth401Error(String failedAccessToken), required String? getAccessToken(), bool also403Revoked = false})
→ Future<T>
-
Wrapper that handles OAuth 401 errors by retrying once.