getProxyFetchOptions function
Get fetch options with proxy and mTLS configuration.
Implementation
ProxyFetchOptions getProxyFetchOptions({bool forAnthropicAPI = false}) {
final keepAlive = !_keepAliveDisabled;
// ANTHROPIC_UNIX_SOCKET tunneling (for `neomage ssh`)
if (forAnthropicAPI) {
final unixSocket = Platform.environment['ANTHROPIC_UNIX_SOCKET'];
if (unixSocket != null && unixSocket.isNotEmpty) {
return ProxyFetchOptions(unixSocket: unixSocket, keepAlive: keepAlive);
}
}
final proxyUrl = getProxyUrl();
if (proxyUrl != null) {
return ProxyFetchOptions(
proxyUrl: proxyUrl,
tlsConfig: getTLSConfig(),
keepAlive: keepAlive,
);
}
return ProxyFetchOptions(tlsConfig: getTLSConfig(), keepAlive: keepAlive);
}