Skip to content

Commit 80369d2

Browse files
committed
feat: add SQS
1 parent 4c7c7ae commit 80369d2

File tree

3 files changed

+87
-0
lines changed

3 files changed

+87
-0
lines changed

go.mod

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@ require (
1212
)
1313

1414
require (
15+
github.com/aws/aws-sdk-go-v2 v1.30.4 // indirect
16+
github.com/aws/aws-sdk-go-v2/config v1.27.28 // indirect
17+
github.com/aws/aws-sdk-go-v2/credentials v1.17.28 // indirect
18+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect
19+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect
20+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect
21+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
22+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
23+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect
24+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect
25+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect
26+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4 // indirect
27+
github.com/aws/smithy-go v1.20.4 // indirect
1528
github.com/davecgh/go-spew v1.1.1 // indirect
1629
github.com/pmezard/go-difflib v1.0.0 // indirect
1730
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect

go.sum

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8=
2+
github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
3+
github.com/aws/aws-sdk-go-v2/config v1.27.28 h1:OTxWGW/91C61QlneCtnD62NLb4W616/NM1jA8LhJqbg=
4+
github.com/aws/aws-sdk-go-v2/config v1.27.28/go.mod h1:uzVRVtJSU5EFv6Fu82AoVFKozJi2ZCY6WRCXj06rbvs=
5+
github.com/aws/aws-sdk-go-v2/credentials v1.17.28 h1:m8+AHY/ND8CMHJnPoH7PJIRakWGa4gbfbxuY9TGTUXM=
6+
github.com/aws/aws-sdk-go-v2/credentials v1.17.28/go.mod h1:6TF7dSc78ehD1SL6KpRIPKMA1GyyWflIkjqg+qmf4+c=
7+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE=
8+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI=
9+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY=
10+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc=
11+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I=
12+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs=
13+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
14+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
15+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI=
16+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc=
17+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ=
18+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c=
19+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c=
20+
github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM=
21+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI=
22+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac=
23+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4 h1:iAckBT2OeEK/kBDyN/jDtpEExhjeeA/Im2q4X0rJZT8=
24+
github.com/aws/aws-sdk-go-v2/service/sts v1.30.4/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0=
25+
github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
26+
github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
127
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
228
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
329
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

internal/consumer/sqs/consumer.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package sqs
2+
3+
import (
4+
"context"
5+
6+
"github.com/aws/aws-sdk-go-v2/aws"
7+
"github.com/aws/aws-sdk-go-v2/config"
8+
"github.com/bxcodec/goqueue/interfaces"
9+
"github.com/bxcodec/goqueue/internal/consumer"
10+
consumerOpts "github.com/bxcodec/goqueue/options/consumer"
11+
)
12+
13+
type sqsHandler struct {
14+
option *consumerOpts.ConsumerOption
15+
}
16+
17+
func NewConsumer(opts ...consumerOpts.ConsumerOptionFunc) consumer.Consumer {
18+
opt := consumerOpts.DefaultConsumerOption()
19+
for _, o := range opts {
20+
o(opt)
21+
}
22+
23+
sqsAWSConf, err := config.LoadDefaultConfig(context.Background(),
24+
config.WithDefaultRegion(cfg.SQSRegion),
25+
config.WithEndpointResolverWithOptions(aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) {
26+
return aws.Endpoint{
27+
URL: *cfg.SQSEndpoint,
28+
SigningRegion: cfg.SQSRegion,
29+
}, nil
30+
}),
31+
),
32+
)
33+
if err != nil {
34+
return nil, err
35+
}
36+
37+
return &sqsHandler{
38+
option: opt,
39+
}
40+
}
41+
42+
func (s *sqsHandler) Consume(ctx context.Context, handler interfaces.InboundMessageHandler, meta map[string]interface{}) (err error) {
43+
return nil
44+
}
45+
46+
func (s *sqsHandler) Stop(ctx context.Context) (err error) {
47+
return nil
48+
}

0 commit comments

Comments
 (0)