Closed scohen closed 6 years ago
Yes eventually when the stars align and I got time.
@essen I think you're there already. I'd help if I could, but you're the one in charge of that. Tagging something like https://github.com/discordapp/gun/commit/da4fb20c67d77ecb2307faf06cf69a80dbeaf029 as 1.0.0-pre.5 would be a tremendous help.
Just depend on the commit for now, I'm not sure what's the problem. There's plenty of things left to do before an 1.0.
The problem is your later commits break backwards compatibility with released versions of cowlib, cowboy and ranch. Maintaining a fork like this is problematic because it diverges from the mainline development of gun.
Show me a patch of what you think should be done, because I don't get what difference it would make.
@essen That's literally your current master with git revert cbbb4d5
applied.
Commit cbbb4d5, which adds support for chunked trailers needs cowlib > https://github.com/ninenines/cowlib/commit/7728c624028db160edad2646f34d069d16af0869 to work with gun's master.
The problem I was seeing is that the commit changes the return value of stream_chunked
and gun then fails with a match error on https://github.com/ninenines/gun/blob/b297499e13ce24806cc354ea601292b30cbb979f/src/gun_http.erl#L141
Maybe this isn't a problem if cowboy 2.1 and ranch 1.4 are compatible with cowlib 2.1. However,
their rebar.config
and erlang.mk
say they're not.
They are compatible. Even Gun should be, if not it's a bug. Gun shouldn't do anything with trailers if the client didn't send a te: trailers header.
Yeah, I saw that. Maybe I got spooked by the dependencies in the project, I might be able to force-override them. I can update and retry my tests.
Maybe the fix is to just relax Cowboy and Ranch's deps cowlib deps? Or maybe just ignore them in downstream projects (though that doesn't sound great).
So you know, we're using Gun to implement a Hackney replacement, and want to release it as open source once it's proven. Getting these deps right will put people's minds at ease.
I plan to remove the dependency on Ranch and I suppose the Cowlib dependency can be pinned now.
With the exception of cbbb4d5523f8738b237593f9516c3a237d0cc2f4, the master version of gun at bda5630b8770da0f6e99f1617777f3c37fca957c is a suitable 1.0.0 release that's compatible with Cowboy 2.1, Cowlib 2.0 and Ranch 1.4.
Please release this version so people can use this excellent HTTP library with Cowboy and Ranch.