block-accounting/backend/internal/infrastructure/queue/rmq/queue.go
2024-06-20 22:39:31 +03:00

40 lines
656 B
Go

package rmq
import (
"log"
amqp "github.com/rabbitmq/amqp091-go"
)
type RMQClient struct {
cc *amqp.Connection
}
// NewClient creates a new RabbitMQ client. Will panic if there are an error while dealing
func NewClient(
address string,
user string,
password string,
) *RMQClient {
cc, err := amqp.Dial("amqp://" + user + ":" + password + "@localhost:5672/")
if err != nil {
log.Fatal("error connect to rabbitmq server", err)
}
return &RMQClient{
cc: cc,
}
}
func NewWithConnection(
cc *amqp.Connection,
) *RMQClient {
return &RMQClient{
cc: cc,
}
}
func (r *RMQClient) Channel() (*amqp.Channel, error) {
return r.cc.Channel()
}