MCPcopy Create free account
hub / github.com/0xUnixIO/pulse / DoCheckUnlock

Method DoCheckUnlock

internal/nodeapi/check.go:32–62  ·  view source on GitHub ↗

DoCheckUnlock 直连 + 代理双轨并发检测各流媒体服务。

(ctx context.Context)

Source from the content-addressed store, hash-verified

30
31// DoCheckUnlock 直连 + 代理双轨并发检测各流媒体服务。
32func (a *API) DoCheckUnlock(ctx context.Context) CheckResponse {
33var (
34direct []serviceCheckResult
35proxied []serviceCheckResult
36proxyAvailable bool
37wg sync.WaitGroup
38)
39
40wg.Add(1)
41go func() {
42defer wg.Done()
43direct = runChecks(ctx, checkHTTPClient)
44}()
45
46if proxyURL := findLocalProxyPort(a.activeManager().Config()); proxyURL != "" {
47proxyAvailable = true
48wg.Add(1)
49go func() {
50defer wg.Done()
51proxied = runChecks(ctx, newProxiedClient(proxyURL))
52}()
53}
54
55wg.Wait()
56
57resp := CheckResponse{Direct: direct, ProxyAvailable: proxyAvailable}
58if proxyAvailable {
59resp.Proxied = proxied
60}
61return resp
62}
63
64const checkUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
65

Callers 1

HandleMethod · 0.80

Calls 7

activeManagerMethod · 0.95
runChecksFunction · 0.85
findLocalProxyPortFunction · 0.85
newProxiedClientFunction · 0.85
AddMethod · 0.80
DoneMethod · 0.65
ConfigMethod · 0.65

Tested by

no test coverage detected