Skip to content

Commit

Permalink
add aws-lwa-go-middleware
Browse files Browse the repository at this point in the history
  • Loading branch information
its-felix committed Nov 15, 2024
1 parent 03d2d21 commit ab75309
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
2 changes: 2 additions & 0 deletions go/api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ require (
github.com/gofrs/uuid/v5 v5.3.0
github.com/golang-jwt/jwt/v5 v5.2.1
github.com/gorilla/feeds v1.2.0
github.com/its-felix/aws-lwa-go-middleware v0.1.0
github.com/json-iterator/go v1.1.12
github.com/labstack/echo/v4 v4.12.0
golang.org/x/sync v0.8.0
Expand All @@ -20,6 +21,7 @@ require (
)

require (
github.com/aws/aws-lambda-go v1.47.0 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.41 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 // indirect
Expand Down
4 changes: 4 additions & 0 deletions go/api/go.sum
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
github.com/aws/aws-lambda-go v1.47.0 h1:0H8s0vumYx/YKs4sE7YM0ktwL2eWse+kfopsRI1sXVI=
github.com/aws/aws-lambda-go v1.47.0/go.mod h1:dpMpZgvWx5vuQJfBt0zqBha60q7Dd7RfgJv23DymV8A=
github.com/aws/aws-sdk-go-v2 v1.32.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI=
github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0=
Expand Down Expand Up @@ -60,6 +62,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/gorilla/feeds v1.2.0 h1:O6pBiXJ5JHhPvqy53NsjKOThq+dNFm8+DFrxBEdzSCc=
github.com/gorilla/feeds v1.2.0/go.mod h1:WMib8uJP3BbY+X8Szd1rA5Pzhdfh+HCCAYT2z7Fza6Y=
github.com/its-felix/aws-lwa-go-middleware v0.1.0 h1:u3Q+5o8HFOQVpm53ZSI+NFEy+j1dre7c2WzqArLuHuk=
github.com/its-felix/aws-lwa-go-middleware v0.1.0/go.mod h1:OrGl0WPwyTf73ZeMqz+y9DemRVlksXm5zwuypLV9DxQ=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
Expand Down
31 changes: 30 additions & 1 deletion go/api/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package main

import (
"context"
"encoding/json"
"errors"
"fmt"
"github.com/explore-flights/monorepo/go/api/data"
"github.com/explore-flights/monorepo/go/api/search"
"github.com/explore-flights/monorepo/go/api/web"
"github.com/gorilla/feeds"
lwamw "github.com/its-felix/aws-lwa-go-middleware"
"github.com/labstack/echo/v4"
"log/slog"
"net/http"
Expand Down Expand Up @@ -49,11 +51,38 @@ func main() {
dataHandler := data.NewHandler(s3c, lhc, bucket)

e := echo.New()
e.Use(authHandler.Middleware)
e.Use(
lwamw.EchoMiddleware(
lwamw.WithMaskError(),
lwamw.WithRemoveHeaders(),
),
authHandler.Middleware,
)

jsonConnEdp := web.NewConnectionsEndpoint(connHandler, "json")
pngConnEdp := web.NewConnectionsEndpoint(connHandler, "png")

e.GET("/api/lwamw", func(c echo.Context) error {
ctx := c.Request().Context()

result := make(map[string]any)

if deadline, ok := ctx.Deadline(); ok {
result["deadline"] = deadline
}

var rc json.RawMessage
if lwamw.RequestContext(ctx, &rc) {
result["requestContext"] = rc
}

if lc, ok := lwamw.LambdaContext(ctx); ok {
result["lambdaContext"] = lc
}

return c.JSONPretty(http.StatusOK, result, "\t")
})

e.POST("/api/connections/json", jsonConnEdp)
e.GET("/api/connections/json/:payload", jsonConnEdp)
e.POST("/api/connections/png", pngConnEdp)
Expand Down

0 comments on commit ab75309

Please sign in to comment.