Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ require (
github.com/aws/aws-sdk-go-v2/config v1.32.7
github.com/aws/aws-sdk-go-v2/credentials v1.19.7
github.com/aws/aws-sdk-go-v2/service/acm v1.37.19
github.com/aws/aws-sdk-go-v2/service/apigateway v1.38.4
github.com/aws/aws-sdk-go-v2/service/athena v1.57.0
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.63.1
github.com/aws/aws-sdk-go-v2/service/codeconnections v1.10.16
Expand All @@ -26,11 +27,14 @@ require (
github.com/aws/aws-sdk-go-v2/service/s3 v1.96.0
github.com/aws/aws-sdk-go-v2/service/s3tables v1.14.0
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.1
github.com/aws/aws-sdk-go-v2/service/sesv2 v1.59.1
github.com/aws/aws-sdk-go-v2/service/sfn v1.40.6
github.com/aws/aws-sdk-go-v2/service/sns v1.39.11
github.com/aws/aws-sdk-go-v2/service/sqs v1.42.21
github.com/aws/aws-sdk-go-v2/service/ssm v1.67.8
github.com/aws/aws-sdk-go-v2/service/xray v1.36.17
github.com/google/uuid v1.6.0
github.com/stretchr/testify v1.11.1
golang.org/x/crypto v0.47.0
)

Expand All @@ -51,5 +55,8 @@ require (
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.41.6 // indirect
github.com/aws/smithy-go v1.24.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/sys v0.40.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
16 changes: 16 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 h1:JqcdRG//czea7Ppjb+g/n4o8i/R
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17/go.mod h1:CO+WeGmIdj/MlPel2KwID9Gt7CNq4M65HUfBW97liM0=
github.com/aws/aws-sdk-go-v2/service/acm v1.37.19 h1:6BPfgg/Y4Pmrdr8KDwHx2CYkw8qPEaGQ+aixjuAY/0U=
github.com/aws/aws-sdk-go-v2/service/acm v1.37.19/go.mod h1:mhOStWeEa1xP99WNNPstX75qgqWgJycL5H7UwZQbqbo=
github.com/aws/aws-sdk-go-v2/service/apigateway v1.38.4 h1:V8gcFwJPP3eXZXpeui+p97JmO7WtCkQlEAHrE6Kyt0k=
github.com/aws/aws-sdk-go-v2/service/apigateway v1.38.4/go.mod h1:iJF5UdwkFue/YuUGCFsCCdT3SBMUx0s+h5TNi0Sz+qg=
github.com/aws/aws-sdk-go-v2/service/athena v1.57.0 h1:zWpbEE0+lqHikRPOWOsboqEw/j3lyOPIO0CsZKIy9og=
github.com/aws/aws-sdk-go-v2/service/athena v1.57.0/go.mod h1:4Hg2qtNOcRb/+xXK5wR+RbhIUV2/kKVLwtQg+Zih+X4=
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.63.1 h1:l65dmgr7tO26EcHe6WMdseRnFLoJ2nqdkPz1nJdXfaw=
Expand Down Expand Up @@ -66,6 +68,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.14.0 h1:PrT+91Zc0K7w7v71Pkvhxrb
github.com/aws/aws-sdk-go-v2/service/s3tables v1.14.0/go.mod h1:1nxPz+DecxdsuL/ykEU9EN3WoaMhpX8K6S9CHbms6Eg=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.1 h1:72DBkm/CCuWx2LMHAXvLDkZfzopT3psfAeyZDIt1/yE=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.1/go.mod h1:A+oSJxFvzgjZWkpM0mXs3RxB5O1SD6473w3qafOC9eU=
github.com/aws/aws-sdk-go-v2/service/sesv2 v1.59.1 h1:0Pitfk3kTCUeJp+7xvTYhdgwVQhszqw1i4s8U93Z/ds=
github.com/aws/aws-sdk-go-v2/service/sesv2 v1.59.1/go.mod h1:lm1VCfakGKIqjexled4IMNMxgOQpDk7buAFd+7lr9pA=
github.com/aws/aws-sdk-go-v2/service/sfn v1.40.6 h1:DFvanPtonXUABFxMg392QtaZgJPJaU6mt+MHIjeS3hg=
github.com/aws/aws-sdk-go-v2/service/sfn v1.40.6/go.mod h1:wpqc1NsRtOpORLpKEfJowauuE3x5JxXG3maTFbZpUJU=
github.com/aws/aws-sdk-go-v2/service/signin v1.0.5 h1:VrhDvQib/i0lxvr3zqlUwLwJP4fpmpyD9wYG1vfSu+Y=
Expand All @@ -82,13 +86,25 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13 h1:gd84Omyu9JLriJVCbGApcLz
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13/go.mod h1:sTGThjphYE4Ohw8vJiRStAcu3rbjtXRsdNB0TvZ5wwo=
github.com/aws/aws-sdk-go-v2/service/sts v1.41.6 h1:5fFjR/ToSOzB2OQ/XqWpZBmNvmP/pJ1jOWYlFDJTjRQ=
github.com/aws/aws-sdk-go-v2/service/sts v1.41.6/go.mod h1:qgFDZQSD/Kys7nJnVqYlWKnh0SSdMjAi0uSwON4wgYQ=
github.com/aws/aws-sdk-go-v2/service/xray v1.36.17 h1:b480fLepDHf9B7FXgcgB7XVDN3pKUACF2MbKu29JYcA=
github.com/aws/aws-sdk-go-v2/service/xray v1.36.17/go.mod h1:ASKVut5pRPVm4bF9/P01ClCthnIopv1PjxWsLOTjKPU=
github.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk=
github.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8=
golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A=
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY=
golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
4 changes: 2 additions & 2 deletions internal/service/acm/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
"github.com/google/uuid"
)

// handleRequest routes ACM requests based on the X-Amz-Target header.
func (s *Service) handleRequest(w http.ResponseWriter, r *http.Request) {
// DispatchAction routes ACM requests based on the X-Amz-Target header.
func (s *Service) DispatchAction(w http.ResponseWriter, r *http.Request) {
target := r.Header.Get("X-Amz-Target")
if target == "" {
writeError(w, errInvalidParameter, "Missing X-Amz-Target header", http.StatusBadRequest)
Expand Down
16 changes: 12 additions & 4 deletions internal/service/acm/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,16 @@ func (s *Service) Prefix() string {
}

// RegisterRoutes registers the ACM routes.
// ACM uses AWS JSON 1.1 protocol with X-Amz-Target header.
func (s *Service) RegisterRoutes(r service.Router) {
// ACM uses POST requests with X-Amz-Target header for all operations.
r.HandleFunc("POST", "/", s.handleRequest)
// Note: ACM uses AWS JSON 1.1 protocol via the JSONProtocolService interface,
// so no direct routes are registered here.
func (s *Service) RegisterRoutes(_ service.Router) {
// No routes to register - ACM uses JSON protocol dispatcher
}

// TargetPrefix returns the X-Amz-Target header prefix for ACM.
func (s *Service) TargetPrefix() string {
return "CertificateManager"
}

// JSONProtocol is a marker method that indicates ACM uses AWS JSON 1.1 protocol.
func (s *Service) JSONProtocol() {}
4 changes: 2 additions & 2 deletions internal/service/glue/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
"github.com/google/uuid"
)

// handleRequest routes Glue requests based on the X-Amz-Target header.
func (s *Service) handleRequest(w http.ResponseWriter, r *http.Request) {
// DispatchAction routes Glue requests based on the X-Amz-Target header.
func (s *Service) DispatchAction(w http.ResponseWriter, r *http.Request) {
target := r.Header.Get("X-Amz-Target")
if target == "" {
writeError(w, errInvalidInput, "Missing X-Amz-Target header", http.StatusBadRequest)
Expand Down
16 changes: 12 additions & 4 deletions internal/service/glue/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,16 @@ func (s *Service) Prefix() string {
}

// RegisterRoutes registers the Glue routes.
// Glue uses AWS JSON 1.1 protocol with X-Amz-Target header.
func (s *Service) RegisterRoutes(r service.Router) {
// Glue uses POST requests with X-Amz-Target header for all operations.
r.HandleFunc("POST", "/", s.handleRequest)
// Note: Glue uses AWS JSON 1.1 protocol via the JSONProtocolService interface,
// so no direct routes are registered here.
func (s *Service) RegisterRoutes(_ service.Router) {
// No routes to register - Glue uses JSON protocol dispatcher
}

// TargetPrefix returns the X-Amz-Target header prefix for Glue.
func (s *Service) TargetPrefix() string {
return "AWSGlue"
}

// JSONProtocol is a marker method that indicates Glue uses AWS JSON 1.1 protocol.
func (s *Service) JSONProtocol() {}
16 changes: 13 additions & 3 deletions test/integration/xray_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import (
"time"

"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/service/xray"
"github.com/aws/aws-sdk-go-v2/service/xray/types"
"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -223,12 +225,20 @@ func TestXRay_DeleteGroup(t *testing.T) {
assert.Error(t, err)
}

func createXRayClient(t *testing.T, ctx context.Context) *xray.Client {
func createXRayClient(t *testing.T, _ context.Context) *xray.Client {
t.Helper()

cfg := loadAWSConfig(t, ctx)
cfg, err := config.LoadDefaultConfig(t.Context(),
config.WithRegion("us-east-1"),
config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(
"test", "test", "",
)),
)
if err != nil {
t.Fatalf("failed to load config: %v", err)
}

return xray.NewFromConfig(cfg, func(o *xray.Options) {
o.BaseEndpoint = aws.String(testEndpoint)
o.BaseEndpoint = aws.String("http://localhost:4566")
})
}
Loading