(p *proxy.Proxy, dashboard string)
| 325 | } |
| 326 | |
| 327 | func OnlineProxy(p *proxy.Proxy, dashboard string) bool { |
| 328 | client := topom.NewApiClient(dashboard) |
| 329 | t, err := client.Model() |
| 330 | if err != nil { |
| 331 | log.WarnErrorf(err, "rpc fetch model failed") |
| 332 | return false |
| 333 | } |
| 334 | if t.ProductName != p.Config().ProductName { |
| 335 | log.Panicf("unexcepted product name, got model =\n%s", t.Encode()) |
| 336 | } |
| 337 | client.SetXAuth(p.Config().ProductName) |
| 338 | |
| 339 | if err := client.OnlineProxy(p.Model().AdminAddr); err != nil { |
| 340 | log.WarnErrorf(err, "rpc online proxy failed") |
| 341 | return false |
| 342 | } else { |
| 343 | log.Warnf("rpc online proxy seems OK") |
| 344 | return true |
| 345 | } |
| 346 | } |
no test coverage detected