package
0.0.0-20221121062735-e66fa351fc36
Repository: https://github.com/kode-magic/go-bowl.git
Documentation: pkg.go.dev

# README

Go Bowl simple rabbitmq Clean Architecture package



#### This package is a wrapper around [RabbitMQ](https://www.rabbitmq.com/) and [Amqp](https://github.com/rabbitmq/amqp091) #### The syntax is very simple and can be easily understood

👨‍💻 The codes below can help you get started:

  • Install the package
Run the below command at the root of your project to install the package:
go get  go get github.com/kode-magic/go-bowl 
go get  go get github.com/kode-magic/go-bowl/rabbit
Next is to create a configuration file where all rabbitmq configuration struct will be:
touch config.go // place it to your desired location
Simple copy and paste the below code into the config file you created initially
package dice
import "github.com/kode-magic/go-bowl/rabbit"

func PublishConfigs() (*rabbit.MQConfig, *rabbit.ExchangeConfig, *rabbit.PublishConfig) {
    return &rabbit.MQConfig{
            Host:     "localhost",
            Port:     "5672",
            User:     "guest",
            Password: "guest",
        },
        &rabbit.ExchangeConfig{
            Exchange:   "school_space",
            Kind:       "fanout",
            Durable:    true,
            AutoDelete: false,
            Internal:   false,
            NoWait:     false,
        },
        &rabbit.PublishConfig{
            Exchange:    "school_space",
            RoutingKey:  "",
            Mandatory:   false,
            Immediate:   false,
            ContentType: "application/json",
        }
}

func ConsumeConfigs(consumer string) (*rabbit.MQConfig, *rabbit.ExchangeConfig, *rabbit.QueueConfig, *rabbit.ConsumerConfig) {
    return &rabbit.MQConfig{
            Host:     "localhost",
            Port:     "5672",
            User:     "guest",
            Password: "guest",
        }, &rabbit.ExchangeConfig{
            Exchange:   "school_space",
            Kind:       "fanout",
            Durable:    true,
            AutoDelete: false,
            Internal:   false,
            NoWait:     false,
        }, &rabbit.QueueConfig{
            Exchange:   "school_space",
            RoutingKey: "",
            QueueName:  "",
            Durable:    false,
            AutoDelete: false,
            Exclusive:  true,
            NoWait:     false,
        }, &rabbit.ConsumerConfig{
            Consumer:  consumer,
            AtoAck:    true,
            Exclusive: false,
            NoLocal:   false,
            NoWait:    false,
            Args:      nil,
        }
    
}

# Packages

No description provided by the author

# Functions

No description provided by the author
NewPublisher rabbitmq publisher constructor.
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MQConfig rabbitmq config.
No description provided by the author
Publisher rabbitmq publisher.
No description provided by the author