// NewRestClient returns an central server client using the current default // transport if the central server is not runing locally. func NewRestClient() (*client.Client, error) { conf := clientconfig.Get() apiurl := conf.Settings.Local.CentralAddr u, err := url.Parse(apiurl) if err != nil { return nil, err } host := u.Host if strings.Contains(host, ":") { host, _, err = net.SplitHostPort(host) if err != nil { return nil, err } } if host == "localhost" || host == "127.0.0.1" { lg.V(19).Infoln("Opening restclient to localhost central api without transport") return client.NewClient(apiurl, nil), nil } httpclient, err := service.NewTransportHTTPClient() if err != nil { return nil, err } lg.V(19).Infoln("Opening restclient thru transport") return client.NewClient(apiurl, httpclient), nil }
func TestMain(m *testing.M) { err := Init() if err != nil { panic(err) } clients := db.Clients{ DB: sqlDB, Internet: db.NewInternetClient(redisPool), Maxmind: db.NewMaxmindClient(mmCountryDB, mmCityDB), } mux, err := apiMux(clients) if err != nil { panic(err) } ts := httptest.NewServer(mux) testclient = client.NewClient(ts.URL, nil) defer ts.Close() os.Exit(m.Run()) }