Please export extensionAPIClient
- Dominant language
- Go
- Stars
- 3.8k
- Forks
- 578
- Avg merge
- 8h 18m
- Merged PRs (30d)
- 1
Description
**Is your feature request related to a problem? Please describe.**
Occasionally would like to write a small Lambda extension to do some processing after my main Lambda handler has returned a response. While the requirements for implementing an extension are well-documented, there's no official 1st-party public Go package to help with implementation.
**Describe the solution you'd like**
`package lambda` already has implemented an extension client, but it is unexported. I'd like to be able to create a new extension client by calling some constructor `NewExtensionAPIClient` (which could be in `package lambda` or in some other package), register event types I'm interested in, and define an extension event handler.
It seems to me that this would not add much maintenance burden since the extension client is already implemented for the sake of the `WithEnableSIGTERM` option. The difference here would be supporting the exported API for the extension client.
**Describe alternatives you've considered**
I could implement and maintain an extension API client myself; but the same is true for implementing a runtime API client. I'd rather rely on an officially supported implementation.
I could find a 3rd-party implementation, but since there's no single or few 3rd-party implementations that have gained community consensus, I don't have any assurances about the quality of the implementation.
---
I'd like to express my thanks to those maintaining this repository. I use it a lot, and I appreciate your work.
Contributor guide
Research direction
Start in package lambda by locating the existing unexported extension client used by WithEnableSIGTERM, then compare its supported operations with the Lambda Extensions API documentation. Done means extension authors can use an official public Go client with the constructor, event registration, and handler flow described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100