Closed rgaufman closed 3 years ago
See #604 and #622 for ongoing discussion about replacing the parser
Ah, I see, thank you. I think I'm going to switch to Faraday for the time being until I can run httprb again.
+1
Switching to llhttp seems like the way forward here. Please see https://github.com/httprb/http/pull/639 for progress.
So it seems there is a general problem with MRI C extensions on the M1. See a similar issue here: https://github.com/socketry/nio4r/pull/260
This seems like potentially a general upstream issue in MRI.
I would encourage anyone interested in helping resolve this issue to test out llhttp
on an M1. It would be encouraging to know whether it will resolve this issue or not.
cc @bryanp
FYI I'm attempting to track down an M1 to test out llhttp
.
I acquired an M1 Mini for testing and confirmed that llhttp
works correctly. That being said, I cannot reproduce the original issue. I tried it both with brew installed ruby (2.7.2) and a compiled ruby via ruby-install
(3.0.0). Both appear to work.
@rgaufman Can you offer any more input here?
On https://github.com/socketry/nio4r/pull/260 the issue appears to only (or at least, mostly) occur with system Ruby
Right, but it looks like @rgaufman is using a brew installed version. Maybe the brewed version has been updated recently?
Fixing the http-version on the Gemfile did it for me, new version has this fixed
gem 'http-parser', '~> 1.2.3'
master branch (future 5.0.0) is now using llhttp
, so closing this ticket.
I have this simple script:
I also tried with gem 'http', github: 'httprb/http'
I get this output:
From what I can tell http-parser is no longer maintained and was replaced by llhttp
Is there any solution to getting this gem working on Apple Silicon?