httpaf
httpaf copied to clipboard
Http upgrades
This PR follows the same idea to implement the HTTP upgrade mechanism as #159, although does so based on the refactored request queues in #172.
Now that #172 is merged into master, I updated this to be based off of the master branch. There is no longer any spurious diff in this PR.
@seliopou do you have any plan for this PR?
@seliopou do you have any plan for this PR?
I've been working with @seliopou and @dpatti to get this merged. We need to land a couple of other PRs first, but it's being worked on. I think hopefully within a couple of weeks.
Any news? If you want some helps, I will happy to spend some times to test/participate :+1:.
Gently ping about this PR. Do you have any news?
Hi @dinosaure ! Sorry for the radio silence here. I have discussed this PR with @seliopou and @dpatti and we have agreed a way forward, but unfortunately I have been pretty slammed for time in the last few months. The good news is that we're using my patch internally at Jane Street and it seems to work well. I need to tidy it up a bit and then get it merged up into httpaf. The bad news is that I'm unlikely to have the time to do so until late December or early January. But I'll report back here as soon as I have progress :)
Thanks you 👍 I will very happy to see a release with this PR to be able then to homogenize my MirageOS stack. Again, if you need some fuels (ping @seliopou), I'm able to work a bit on this PR. Thanks again.
@seliopou I pushed what I think is a more correct implementation for the async library. If you read the commit message, you'll see it has a buffering issue that I don't know how to resolve other than using a Reader.t
throughout the lifetime of the connection. Maybe you have some ideas.
I think we need a similar treatment for the lwt side of things, but other than trying to translate the thing I did in async 1:1, I'm not really sure how to approach it.
There's one issue with the two runtime implementations: we can potentially pull more bytes off the socket than we need to parse the headers, at which point you drop those bytes on the floor when you hand the socket off to the user.
Just needs the fixes to the runtimes (or assertions saying it's a known issue) and we're good to merge.
Is this still being worked on?
A gently ping 🙂 , again, if you need any help for the release process (testing, etc.), I'm available.