https://github.com/sofyan48/mq-router
https://github.com/sofyan48/mq-router
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sofyan48/mq-router
- Owner: sofyan48
- Created: 2022-08-05T07:48:55.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-08-07T01:39:23.000Z (about 3 years ago)
- Last Synced: 2025-02-19T14:07:48.748Z (8 months ago)
- Language: Go
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SQS ROUTER
## Install
```
go get github.com/sofyan48/mq-router
```
## Example
``` golang
package mainimport (
"fmt"
"time""github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/sqs"
"github.com/aws/aws-sdk-go/service/sqs/sqsiface"
"github.com/sofyan48/mq-router"
)func main() {
client := newClient()
topic1Url := "https://sqs.ap-southeast-1.amazonaws.com/AWS_ID/sqs-example-topic"router := mq.NewRouter()
router.Handle("/push/wa", mq.HandlerFunc(func(m *mq.Message) error {
fmt.Println("WA:> ", aws.StringValue(m.SQSMessage.Body))
return nil
})).Method("POST")
router.Handle("/push/pu", mq.HandlerFunc(func(m *mq.Message) error {
fmt.Println("PU:> ", aws.StringValue(m.SQSMessage.Body))
return nil
})).Method("POST")topic1 := mq.NewServer(topic1Url, router, mq.WithClient(client))
for {
topic1.Start()
time.Sleep(1 * time.Second)
}
}func newClient() sqsiface.SQSAPI {
creds := credentials.NewStaticCredentials(
"ACCESS_KEY",
"SECRET_KEY", "")credential := &aws.Config{
Credentials: creds,
Region: aws.String("ap-southeast-1"),
}
return sqs.New(session.New(), credential)
}
```