(env)
| 321 | } |
| 322 | |
| 323 | function checkProxyHealth(env) { |
| 324 | if (!expectsProxy(env)) return { healthy: true, expected: false }; |
| 325 | var proxy = readSettings().proxy || {}; |
| 326 | if (!proxy.url) { |
| 327 | return { healthy: false, expected: true, reason: 'proxy_not_configured' }; |
| 328 | } |
| 329 | if (proxy.pid && !isPidRunning(proxy.pid)) { |
| 330 | return { healthy: false, expected: true, reason: 'proxy_pid_stale', proxyPid: proxy.pid, proxyUrl: proxy.url }; |
| 331 | } |
| 332 | if (!proxy.token) { |
| 333 | return { healthy: false, expected: true, reason: 'proxy_token_missing', proxyPid: proxy.pid, proxyUrl: proxy.url }; |
| 334 | } |
| 335 | if (!isProxyUrlReachable(proxy.url, proxy.token)) { |
| 336 | return { healthy: false, expected: true, reason: 'proxy_unreachable', proxyPid: proxy.pid, proxyUrl: proxy.url }; |
| 337 | } |
| 338 | return { healthy: true, expected: true, proxyPid: proxy.pid, proxyUrl: proxy.url }; |
| 339 | } |
| 340 | |
| 341 | function shouldRestartForProxy(pids, env) { |
| 342 | if (!pids || pids.length === 0) return false; |
no test coverage detected