You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using API Gateway (v2 payload) with a custom domain and base path mapping, for example api.example.com/v1, where api.example.com is the custom domain and v1 is the base path, API Gateway will route the request to the lambda regardless of a trailing forward slash. For example api.example.com/v1 or api.example.com/v1/ will route to the lambda.
The issue with this is that when the trailing forward slash is missing, the lambda payload will contain a raw path that is empty:
When using an express app with the serverless-express library, this results in a 404 response from the express app and a body containing the text Cannot GET null.
I'm not sure if this is an issue with express or serverless-express, but a workaround could be to place a default value in function getRequestValuesFromApiGatewayEvent({ event }) to prevent this from happening. For example, line 13 of event-sources/aws/api-gateway-v2.js could be changed from:
When using API Gateway (v2 payload) with a custom domain and base path mapping, for example
api.example.com/v1
, where api.example.com is the custom domain and v1 is the base path, API Gateway will route the request to the lambda regardless of a trailing forward slash. For exampleapi.example.com/v1
orapi.example.com/v1/
will route to the lambda.The issue with this is that when the trailing forward slash is missing, the lambda payload will contain a raw path that is empty:
When using an express app with the serverless-express library, this results in a 404 response from the express app and a body containing the text
Cannot GET null
.I'm not sure if this is an issue with express or serverless-express, but a workaround could be to place a default value in
function getRequestValuesFromApiGatewayEvent({ event })
to prevent this from happening. For example, line 13 ofevent-sources/aws/api-gateway-v2.js
could be changed from:to:
It sees most logical that both
api.example.com/v1
orapi.example.com/v1/
route to the same location. In my case I have a health check route at '/':The text was updated successfully, but these errors were encountered: