aws / aws/aws-lambda-go

Please export extensionAPIClient

Open
#562 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.