seancribbs

seancribbs

I’m proud to announce the 1.0 release of Hardhat, an opinionated, production-ready HTTP client library for Elixir services.

  • Opinionated: includes default behavior on top of basic HTTP client semantics, some of which is required

  • Production-ready: the behavior included is focused on client-side resilience and has been proven effective in production settings

  • HTTP: only focused on HTTP 1/2 clients, not gRPC or other protocols

  • For Elixir services: an effective component for large Elixir applications that interact with other services in a micro-services architecture or consume third-party HTTP APIs

I strongly encourage you to read the main documentation page for more details about usage and motivations behind the creation of the library.

I have written this library and its documentation over the last four months mostly while live-streaming on Twitch. I’d like to thank all of my friends, former colleagues, and lurkers who helped out along the way.

Drop any questions you have below, I’ll try to answer them as I have time!

Showing Posts 1 to 2

hst337

hst337

Great job. Batteries included solution is cool, though I am not a fan of Tesla or middleware based solutions

seancribbs

seancribbs OP

Thank you!

For me, the choice was as easy now as it was the first time I wrote Hardhat. Tesla and its middleware pattern gives the most flexibility to construct the client in the way that I wanted while letting consumers of the library extend and customize to their needs. That said, it does have downsides, especially when functionality is cross-cutting or interacts in surprising ways (like retries and circuit-breaking).

— All posts loaded —

Where Next? Top

Trending in Announcing Top

wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
fuelen
Hi all! I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas. You...
New
anuaralfetahe
Hello Published a new library - ProcessHub! ProcessHub is a library designed to manage process distribution within the Elixir cluster. ...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
AstonJ
This showed up on my feed.. anyone heard of it? Just hype? Ox Alpha is a reasoning model designed for coding, sustained ag...
New
sergio
It’s not that it’s vocabulary is too advanced. It’s something worse. I get lost trying to follow even a paragraph written by Claude. It’...
New
sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
akoutmos
@hugobarauna, Dr. Dimitrios Koutmos (my brother) and I (Alex Koutmos) have been hard at work on writing a book on how you can use Elixir ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews