Example #1
0
// 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
}
Example #2
0
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())
}