4 ms·
This is horrifying. It prioritizes the ease of the library developer's life over the library user's life. That smart-object API is just simply painful to use.
by stickfigure 9y ago
This is horrifying. It prioritizes the ease of the library developer's life over the library user's life. That smart-object API is just simply painful to use.
Oddly enough, I (independently) developed a very similar opensource http library with fluent, immutable command objects:
https://github.com/stickfigure/hattery/ https://github.com/stickfigure/hattery/
Of all the libraries I've built in my life, this is probably the one I enjoy using most. I also don't have any problems maintaining it; I still add features all the time (most recently, preflight and postflight functions) and it's still fun.
The reason it's easy to maintain, I suspect, is mostly two reasons: 1) everything is immutable and 2) there's clean separation between the Request and the Transport.