Example #1
0
// Make builds an instance of a Gonduit client.
func (g *GonduitFactory) Make() (*gonduit.Conn, error) {
	options := &core.ClientOptions{
		InsecureSkipVerify: g.Config.GetBool("misc.ignore-ca"),
	}

	if g.Config.IsSet("conduit.token") {
		options.APIToken = g.Config.GetString("conduit.token")
	} else if g.Config.IsSet("conduit.cert") && g.Config.IsSet("conduit.user") {
		options.Cert = g.Config.GetString("conduit.cert")
		options.CertUser = g.Config.GetString("conduit.user")
	} else {
		return nil, ErrNoCredentials
	}

	// Attempt to create an instance of a connection.
	conduit, err := gonduit.Dial(
		g.Config.GetString("conduit.api"),
		options,
	)
	if err != nil {
		return nil, err
	}

	// If we are using certificate-based configuration, create a session too.
	if g.Config.IsSet("conduit.user") &&
		g.Config.IsSet("conduit.token") == false {
		err = conduit.Connect()

		if err != nil {
			return nil, err
		}
	}

	return conduit, nil
}
Example #2
0
// Make builds an instance of a Gonduit client.
func (g *GonduitFactory) Make() (*gonduit.Conn, error) {
	conduit, err := gonduit.Dial(
		g.Config.GetString("conduit.api"),
		&core.ClientOptions{
			InsecureSkipVerify: g.Config.GetBool("misc.ignore-ca"),
		},
	)

	if err != nil {
		return nil, err
	}

	err = conduit.Connect(
		g.Config.GetString("conduit.user"),
		g.Config.GetString("conduit.cert"),
	)

	if err != nil {
		return nil, err
	}

	return conduit, nil
}