hauleth

hauleth

Brotli library revival and support for Phoenix 1.6 assets digests

Phoenix 1.6+ will support using additional compressors alongside Zlib one. This one is pretty handy, as it will allow using Brotli and any other compression method that may come in future. To achieve that I needed to revive one library and create another.

Revived library is erl-brotli:

https://github.com/hauleth/erl-brotli

New features include:

  • streaming API for encoding
  • API for decoding
  • almost complete rewrite of the code
  • extensive testing, together with property tests

I have contacted autor of that library whether they are willing to pass the Hex repository to me as I would prefer to not need create additional name for it. I haven’t heard anything back yet.

Second library is Phoenix.Digester.Compressor implementation that can use above library, however do not require it, and will gracefully fallback to CLI utility:

https://github.com/hauleth/phoenix_brotli_compressor

Again, not on Hex yet, as I need to have above library handled first.

This will allow user to just add this line in config/config.exs:

config :phoenix,
  static_compressors: [Phoenix.Digester.Gzip, PhoenixBrotliCompressor]

Together with adding:

plug Plug.Static,
  brotli: true,
  # …

In their endpoint and now be happy user of the better compression thanks to Brotli.

Most Liked

hauleth

hauleth

This library became deprecated in favour of phoenix_bakery which provides the same features + better GZIP and Zstandard

Where Next?

Popular in Announcing Top

OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
tmbb
PhoenixWS - Websockets over Phoenix Channels Source code on Github here: GitHub - tmbb/phoenix_ws: Websockets implemented over Phoenix Ch...
New
Crowdhailer
I have been updating a library that allows you to pipe between functions that use the erlang result tuple convention. Assuming you have ...
New
mtrudel
Bandit is an HTTP server for Plug and WebSock apps. Bandit is written entirely in Elixir and is built atop Thousand Island. It can serve...
New
zorbash
I created Kitto a framework for dashboards inspired by Dashing. The distributed characteristics of Elixir and the low memory footprint...
New
sbs
Only 650 LOC, wrote for fun :slight_smile: https://github.com/sunboshan/qrcode
New
mindok
What is ContEx? A pure Elixir server-side data plotting/charting library outputting SVG. It has nice barcharts in particular and works g...
New
achempion
Hi, I would like to tell about my initiative to further maintain and develop Waffle project which is the fork of Arc library. The progre...
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New
pkrawat1
Hey guyz We at @aviabird are working on a payment library in elixir/phoenix. We are targeting March 2018 to add 56 Gateways to it. Have...
New

Other popular topics Top

danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29603 241
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement