localstack / localstack/serverless-localstack
Empty stage in API Gateway output for endpoints
- Dominant language
- JavaScript
- Stars
- 542
- Forks
- 92
- PR merge metrics
- No merged PRs in 30d
Description
With this `serverless.yml`:
```
service: scraperator
frameworkVersion: "3"
provider:
name: aws
runtime: python3.9
stage: local
region: us-east-1
logs:
httpApi: true
deploymentBucket:
name: serverless-deploys
serverSideEncryption: AES256
httpApi:
cors: true
disableDefaultEndpoint: false
plugins:
- serverless-python-requirements
- serverless-localstack
custom:
stage: ${opt:stage, self:provider.stage}
localstack:
stages:
- local
autostart: false
functions:
config:
handler: capture.config
events:
- httpApi:
method: GET
path: /config
capture:
handler: capture.handler
events:
- httpApi:
method: POST
path: /capture
```
A successful deploy yields this output:
```
endpoints:
GET - https://746fbc6e.execute-api.localhost.localstack.cloud:4566//config
POST - https://746fbc6e.execute-api.localhost.localstack.cloud:4566//capture
```
Note the `//` where there should be `/local/`.
The URL as printed does not work. However, removing a `/` (e.g. https://746fbc6e.execute-api.localhost.localstack.cloud:4566/config) does work.
Contributor guide
Research direction
Reproduce the deployment using the supplied serverless.yml and compare the printed endpoint URLs with the working URLs described in the issue. Trace how the Serverless plugin formats API Gateway endpoint paths, then verify that deployed endpoints include the configured local stage and contain only one slash before the path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, javascript, python
- Domain
- api, cloud
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100