Skip to content

API Gateway emulator: HTTP proxy integration so non-Lambda backends share the emulator origin #2568

Description

@msmourao

Describe the feature

The Lambda Test Tool v2 API Gateway emulator today models routes as Lambda integrations only (HTTP → APIGatewayProxyRequest / HTTP API v2 JSON → Runtime API).
Real API Gateway also supports HTTP proxy integrations. Locally, teams often need the same: some routes are Lambda, others are plain HTTP (Kestrel, containers, App Runner, etc.), but callers should keep one emulator base URL / origin.
Please add an optional route integration type on the emulator:

  • Lambda (default) — current behavior.
  • Http — reverse-proxy the incoming HTTP request to a configured Endpoint URL. Do not wrap the body as an API Gateway Lambda event. The client still talks to the emulator; the emulator talks to the HTTP process.

Use Case

Mixed local topologies where a frontend (or other clients) already call the emulator host for API Gateway. If a backend is not a Lambda, there is today no way for that route to stay on the same emulator domain, so callers must switch origin. An HTTP proxy integration closes that gap and mirrors API Gateway’s HTTP integration concept (emulator fidelity for local inner-loop).

Proposed Solution

Other Information

Happy to contribute a PR once this feature request is triaged. We already prototyped IntegrationType=Http on a fork for local use.

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

AWS .NET SDK and/or Package version used

Amazon.Lambda.TestTool 0.15.1

Targeted .NET Platform

.NET 10

Operating System and version

Windows 11

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.needs-triageThis issue or PR still needs to be triaged.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions