2 Answers
- Newest
- Most votes
- Most comments
0
I figured this out. I want more control over things so I'm using this:
func HandleRequest(ctx context.Context, request events.APIGatewayV2HTTPRequest) (events.APIGatewayV2HTTPResponse, error) { ... }
which works great. It was kind of nice before that it would take care of marshaling/unmarshaling and now I have to do it myself, but that's not bad. I do kind of wish the Response "Body" was just interface{}
and that it would automatically marshal/unmarshal based on Content-Type
but it's fine.
One thing I do miss from doing this in Kotlin and Spring is the ability to just throw an Exception, and write an ExceptionMapper that would set the appropriate http status code.
answered 2 years ago
0
I tried following
package main import ( "fmt" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" ) func handler(event events.CognitoEventUserPoolsPostAuthentication) (events.CognitoEventUserPoolsPostAuthentication, error) { fmt.Printf("PreAuthentication of user: %s\n", event.UserName) // Return to Amazon Cognito return event, nil // Try raising an error // return event, fmt.Errorf("TESTING LAMBDA ERRORS WITH GOLANG") } func main() { lambda.Start(handler) }
answered 2 years ago
Relevant content
- asked a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago