ycastor

ycastor

A couple weeks ago i decided to learn a bit more about HTTP and got the urges of starting a new http client from scratch, so i built Quiver, the idea was pretty much a toy project, albeit there are still some RFC stuff missing, the results are pretty good. I inspired myself quite a bit in hackney and finch, but with some pet peeves of my own. I tried to benchmark it as fair as possible against Finch, the benchee results are in the repo.

Features

  • HTTP/1.1 and HTTP/2 – automatic protocol handling with TLS+ALPN
  • Connection pooling – NimblePool for HTTP/1, GenStateMachine coordinator for HTTP/2
  • Streaming responses – lazy body streams for large payloads and SSE
  • Origin-based routing – exact, wildcard, and default pool rules per origin
  • Structured errors – three error classes (transient, invalid, unrecoverable)
  • Telemetry – request spans, connection lifecycle, and pool queue depth events
  • Supervised – pools start lazily and live under your application’s supervision tree

Now, the next item in my roadmap is to implement HTTP/3 support, maybe starting with quicer.

https://github.com/edlontech/quiver

Showing Posts 1 to 3

kevinschweikert

kevinschweikert

I recommend using GitHub - benoitc/erlang_quic: Pure Erlang QUIC implementation (RFC 9000) · GitHub because it’s not using any NIFs which quicer does. It’s also used for the QUIC implementation in Hackney

ycastor

ycastor OP

Quiver 0.3.0 released!

What’s new:

  • Initial support for HTTP/3
  • HTTP/3 Datagrams
  • Minor stability improvements
ycastor

ycastor OP

Quiver 0.4.0 released!

What’s new:

  • Implemented Support for Early Data / 0-RTT
  • Updated erlang_quic to 1.6.3
  • Fixed HTTP/3 and HTTP/2 Pool Stability
— 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
restlessronin
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub. Docs are at OpenaiEx User Gu...
152 11030 135
New
shahryarjb
The Chelekom project is a library of Phoenix and LiveView components generated via Mix tasks to fit developer needs seamlessly. One of i...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
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

Other Trending Topics Top

mudasobwa
I am seeing a lot of aplications of Argumentum ad Vericundiam in software discussions. They do link some piece of writing and point us to...
New
bartblast
Hey folks, I just published a post about Hologram’s funding and where the project goes next - the short version: Curiosum as Main Spons...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
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
lawik
I was thinking since Goatmire Elixir turned out pretty good I should maybe do another one. 30th of Sep - 2nd of Oct this year./ The firs...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews