httpaf icon indicating copy to clipboard operation
httpaf copied to clipboard

Http upgrades

Open dhouse-js opened this issue 3 years ago • 12 comments

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.

dhouse-js avatar Apr 26 '21 15:04 dhouse-js

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.

dhouse-js avatar May 24 '21 11:05 dhouse-js

@seliopou do you have any plan for this PR?

dinosaure avatar Jul 05 '21 19:07 dinosaure

@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.

dhouse-js avatar Jul 08 '21 14:07 dhouse-js

Any news? If you want some helps, I will happy to spend some times to test/participate :+1:.

dinosaure avatar Sep 06 '21 08:09 dinosaure

Gently ping about this PR. Do you have any news?

dinosaure avatar Nov 17 '21 15:11 dinosaure

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 :)

dhouse-js avatar Nov 17 '21 19:11 dhouse-js

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.

dinosaure avatar Nov 22 '21 10:11 dinosaure

@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.

dpatti avatar Jan 17 '22 17:01 dpatti

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.

dpatti avatar Mar 12 '22 17:03 dpatti

Just needs the fixes to the runtimes (or assertions saying it's a known issue) and we're good to merge.

dpatti avatar Jun 22 '22 23:06 dpatti

Is this still being worked on?

rawleyfowler avatar Nov 16 '22 21:11 rawleyfowler

A gently ping 🙂 , again, if you need any help for the release process (testing, etc.), I'm available.

dinosaure avatar Jan 09 '23 18:01 dinosaure