1
0
mirror of https://github.com/ebosas/microservices.git synced 2025-06-06 22:16:11 +02:00
2021-10-27 09:33:22 +03:00

38 lines
820 B
Go

package rabbit
import (
"crypto/tls"
"github.com/streadway/amqp"
)
// Conn returns a Rabbit connecton. Also, a channel to be used
// in the main go routine.
type Conn struct {
Connection *amqp.Connection
Channel *amqp.Channel
}
// GetConn established a Rabbit connection.
func GetConn(rabbitURL string) (*Conn, error) {
cfg := new(tls.Config)
cfg.InsecureSkipVerify = true // avoid error 'certificate signed by unknown authority'
conn, err := amqp.DialTLS(rabbitURL, cfg)
if err != nil {
return &Conn{}, err
}
ch, err := conn.Channel()
return &Conn{
Connection: conn,
Channel: ch,
}, err
}
// Close closes the Rabbit connection.
// All resources associated with the connection, including channels,
// will also be closed.
func (conn *Conn) Close() error {
return conn.Connection.Close()
}