{"id":18984512,"url":"https://github.com/danwakeem/funky-async-extension","last_synced_at":"2025-07-28T10:34:13.187Z","repository":{"id":74067182,"uuid":"549105417","full_name":"Danwakeem/funky-async-extension","owner":"Danwakeem","description":"A Lambda Layer that allows you to execute code after a response has been sent to API Gateway","archived":false,"fork":false,"pushed_at":"2022-10-26T20:31:01.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T09:46:33.133Z","etag":null,"topics":["api-gateway","async-api","aws-lambda","lambda","serverless"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Danwakeem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-10T17:23:55.000Z","updated_at":"2023-02-04T15:19:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"1d07bbfd-104f-4d5f-9e99-e3f623b04ab4","html_url":"https://github.com/Danwakeem/funky-async-extension","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Danwakeem/funky-async-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danwakeem%2Ffunky-async-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danwakeem%2Ffunky-async-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danwakeem%2Ffunky-async-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danwakeem%2Ffunky-async-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Danwakeem","download_url":"https://codeload.github.com/Danwakeem/funky-async-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danwakeem%2Ffunky-async-extension/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267502268,"owners_count":24098103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","async-api","aws-lambda","lambda","serverless"],"created_at":"2024-11-08T16:21:51.791Z","updated_at":"2025-07-28T10:34:13.078Z","avatar_url":"https://github.com/Danwakeem.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Async HTTP API Lambda Layer\nThis is a lambda layer package that allows you to return data from your http API before your `ASYNC_HANDLER` has finished executing.\n\nThis allows you to perform fire and forget http APIs similar to the old `X-Amz-Invocation-Type: Event` that is [enabled on v1 APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-integration-async.html).\n\n## How to use\nThis repository is basically an example repo showing how to deploy and integrate with this async handler.\n\nEach function in the `serverless.yml` file presents a different way to interact with the layer.\n\n* `longRunning` - This function demonstrates an ASYNC handler that runs way after a typical HTTP API would be required to return a response. It is also using the built in layer `proxy` handler that will take care of passing the `event` and `context` object to the async handler.\n* `customResponse` - This function demonstrates an async handler that uses the built in layer `proxy` handler and customizes the response message.\n* `customHandler` - This function demonstrates a custom handler paired with an `ASYNC_HANDLER`. This also demonstrates how to use the `sendArgs` method exposed by our layer.\n\n## Layer details\nThis layer includes an external extension that is monitoring for an http event from the internal lambda function that forwards the event and context information. It also includes a lambda handler you can use to send quick responses back to API gateway as well as a `sendArgs` method that allows you use a custom handler.\n\nOnce the event and context information is received the extension will then execute the `ASYNC_HANDLER` function supplied in our environment variables.\n\n## Environment variables\n\n| Name | Description | Required (Y/N) | Default |\n|--|--|--|--|\n| `ASYNC_HANDLER` | This is the path to your async handler. This is similar to the normal `handler` property in the function description in the `serverless.yml` file. | `Y` | N/A |\n| `CUSTOM_RES` | If you want to use the built-in `proxy` handler but you would like to customize the http response you can do that via this variable. (Example on `customResponse` function 😉) | `N` | N/A |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanwakeem%2Ffunky-async-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanwakeem%2Ffunky-async-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanwakeem%2Ffunky-async-extension/lists"}