https://github.com/mcorbin/corbihttp
https://github.com/mcorbin/corbihttp
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mcorbin/corbihttp
- Owner: mcorbin
- License: epl-2.0
- Created: 2020-12-08T21:04:01.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T20:33:54.000Z (10 months ago)
- Last Synced: 2025-03-12T06:17:26.884Z (2 months ago)
- Language: Clojure
- Size: 77.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Corbihttp: everything you need to build HTTP applications in Clojure
Corbihttp is a set of components, functions and interceptors which help you creating full-featured HTTP applications in [Clojure](https://clojure.org/). It leverages battled tested liraries:
- [Aero](https://github.com/juxt/aero) for configuration
- [Reitit](https://github.com/mesotin/reitit) for routing
- [Cheshire](https://github.com/dakrone/cheshire) for JSON handling
- [Component](https://github.com/stuartsierra/component) for state management
- [Cloak](https://github.com/exoscale/cloak) for secrets
- [Clojure Spec](https://clojure.org/guides/spec) for input validation
- [Coax](https://github.com/exoscale/coax) for payloads coercion from specs
- [Ex](https://github.com/exoscale/ex) for error handling
- [Interceptor](https://github.com/exoscale/interceptor) to handle HTTP requests
- [Micrometer](https://micrometer.io/) for metrics and Prometheus integration
- [Ring](https://github.com/ring-clojure/ring) and Jetty for the HTTP serverCorbihttp provides an opiniated way of creating web applications in Clojure. It's flexible (you choose which part you want to include or not) and simple to use.
## Example