{"id":19747454,"url":"https://github.com/fierycod/holy-lambda-ring-adapter","last_synced_at":"2025-04-30T08:32:30.226Z","repository":{"id":40478421,"uuid":"413721872","full_name":"FieryCod/holy-lambda-ring-adapter","owner":"FieryCod","description":"An adapter between Ring core request/response model and Holy Lambda. Run Ring applications on AWS Lambda :fire:","archived":false,"fork":false,"pushed_at":"2023-08-24T18:42:14.000Z","size":122,"stargazers_count":36,"open_issues_count":4,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-01T19:53:07.570Z","etag":null,"topics":["aws-lambda","clojure","holy-lambda","ring"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FieryCod.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["fierycod"],"open_collective":null}},"created_at":"2021-10-05T07:47:09.000Z","updated_at":"2023-06-10T12:10:49.000Z","dependencies_parsed_at":"2023-02-03T23:30:45.762Z","dependency_job_id":null,"html_url":"https://github.com/FieryCod/holy-lambda-ring-adapter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FieryCod%2Fholy-lambda-ring-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FieryCod%2Fholy-lambda-ring-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FieryCod%2Fholy-lambda-ring-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FieryCod%2Fholy-lambda-ring-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FieryCod","download_url":"https://codeload.github.com/FieryCod/holy-lambda-ring-adapter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224202856,"owners_count":17272832,"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","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":["aws-lambda","clojure","holy-lambda","ring"],"created_at":"2024-11-12T02:17:53.964Z","updated_at":"2024-11-12T02:17:54.618Z","avatar_url":"https://github.com/FieryCod.png","language":"Clojure","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://fierycod.github.io/holy-lambda\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg src=\"docs/media/logo.png?raw=true\" alt=\"holy-lambda logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/FieryCod/holy-lambda-ring-adapter/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/FieryCod/holy-lambda-ring-adapter/actions/workflows/ci.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Rationale\nI wanted to create a library that allows to use known Clojure tools to develop API's on AWS Lambda.\n\n**A library that**\n\n- prevents AWS to vendor lock you with Lambda,\n- allows for fast feedback loop while developing API locally,\n- implements a full Ring spec,\n- supports serving resources from AWS Lambda,\n- is fast, so that cold starts are minimal\n\nThis is why holy-lambda-ring-adapter was released. An adapter is a part of holy-lambda project and is already used in production.\n\n## Compatibility\n  - AWS ApiGateway Lambda Integration\n    - [HttpApi](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop.html#http-api-examples)\n    - [RestApi](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html) \n  - Java Version \u003e= 11 or Babashka \u003e= 0.8.2\n  - GraalVM Native Image \u003e= 21.2.0\n  - Holy Lambda \u003e= 0.6.0 [all backends: [native](https://fierycod.github.io/holy-lambda/#/native-backend-tutorial), [babashka](https://fierycod.github.io/holy-lambda/#/babashka-backend-tutorial), [clojure](https://fierycod.github.io/holy-lambda/#/clojure-backend-tutorial)\n\n## Usage\n  - **With plain [ring](https://github.com/ring-clojure/ring)**\n    ```clojure\n    (ns core\n     (:require\n      [fierycod.holy-lambda-ring-adapter.core :as hlra]\n      [fierycod.holy-lambda.core :as h])\n  \n    (defn ring-handler\n      [request]\n      {:status 200\n       :headers {}\n       :body \\\"Hello World\\\"})\n  \n    (def HttpApiProxyGateway (hlra/ring\u003c-\u003ehl-middleware ring-handler))\n  \n    (h/entrypoint [#'HttpApiProxyGateway])\n    ```\n  \n  - **With Reitit \u0026 Muuntaja [reitit](https://github.com/metosin/reitit)**\n    ```clojure\n    (ns core\n     (:require\n      [fierycod.holy-lambda-ring-adapter.core :as hlra]\n      [fierycod.holy-lambda.core :as h])\n  \n    (def muuntaja-ring-handler\n      (ring/ring-handler\n        (ring/router\n          routes\n          {:data {:muuntaja   instance\n                  :coercion   coerction\n                  :middleware middlewares}})))\n  \n    (def HttpApiProxyGateway (hlra/ring\u003c-\u003ehl-middleware muuntaja-ring-handler))\n  \n    (h/entrypoint [#'HttpApiProxyGateway])\n    ```\n\n## Companies \u0026 Inviduals using Holy Lambda Ring Adapter?\n  - [retailic](https://retailic.com/) \n  \n## Documentation\nThe holy-lambda documentation is available [here](https://fierycod.github.io/holy-lambda).\n\n## Current Version \n[![Clojars Project](https://img.shields.io/clojars/v/io.github.FieryCod/holy-lambda-ring-adapter?labelColor=283C67\u0026color=729AD1\u0026style=for-the-badge\u0026logo=clojure\u0026logoColor=fff)](https://clojars.org/io.github.FieryCod/holy-lambda-ring-adapter)\n\n## Getting Help \n[![Get help on Slack](http://img.shields.io/badge/slack-clojurians%20%23holy--lambda-97C93C?labelColor=283C67\u0026logo=slack\u0026style=for-the-badge)](https://clojurians.slack.com/channels/holy-lambda)\n\n## License\nCopyright © 2021 Karol Wojcik aka Fierycod\n\nReleased under the MIT license.\n","funding_links":["https://github.com/sponsors/fierycod"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffierycod%2Fholy-lambda-ring-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffierycod%2Fholy-lambda-ring-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffierycod%2Fholy-lambda-ring-adapter/lists"}