Help maintaining Elixir HTTP/2 Server, nearly at 1.0 release

Ace is the HTTP server I built because I needed support for HTTP/2.
As far as I am aware it was the first to offer HTTP/2 support on beam.

I am not able to spend as much time maintaining Ace as I would like and so am looking for some help looking after the project and potentially, eventually, passing it on to someone else. For my purposes I do not currently require an HTTP/2 server and so my use of this library is not exercising much of the functionality in it.

Ace is the most popular server built in Elixir, Cowboy is more widely used but is built in erlang.
Ace was built built to work with the Raxx framework, because that is what I was building at the time, and so offers an interesting alternative to the Plug/Cowboy stack.

The plan

If anyone is interested it would be great to hear from you. I still have sometime to help so it would be great to try and work together to get to a 1.0 release, after which there would hopefully be less work all round.

Or if you have a different plan happy to hear that too.

11 Likes

I certainly cannot promise maintenance right now but I am very interested. I also would add a QUIC / HTTP3 implementation, free time and energy allowing.

How do you think, is your library suitable to make the jump to those protocols as well?

Furthermore, do you have any benchmarks?

1 Like

So would I but I suspect it requires a lot of free time.

Yes, I thought very hard about separating the concepts around what is an HTTP request, from the underlying connection mechanism.

Yes, https://github.com/CrowdHailer/raxx/tree/master/bench but these are mostly limited to how the middleware stacks work. But everything in Ace works the same way as a middleware module so covers a lot

3 Likes

Hi,

Please has anyone hit a limit on download size for http2 request with ACE?

Solved. Was a small issue in Ace.

3 Likes