4 ms·
For Ruby there's httparty, https://github.com/jnunemaker/httparty https://github.com/jnunemaker/httparty, curb, and a couple of others that escape me right now.
by davnola 15y ago
For Ruby there's httparty, https://github.com/jnunemaker/httparty https://github.com/jnunemaker/httparty, curb, and a couple of others that escape me right now.
- bascule 15y agoHere's the new one I'm working on: https://github.com/tarcieri/http https://github.com/tarcieri/http httparty does a few of the same tricks, but I still find its API a bit obtrusive. At least it automatically parses JSON! (my library does this too, if an appropriate library is loaded) In addition to a humane interface, it will soon be backed by a Ragel-generated HTTP parser: https://github.com/tarcieri/http/tree/master/parser https://github.com/tarcieri/http/tree/master/parser
- bonzoesc 15y agoDid you get to re-use any of Zed Shaw's excellent parser work from Mongrel?
- bascule 15y agoZed had two parsers: a server parser as part of Mongrel and a client parser as part of RFuzz. I actually used the client parser from RFuzz in my Rev/Cool.io libraries. I talked to Zed about his plans for these, he wanted to do a unified parser that can handle both HTTP requests and responses (since the only difference between the two is the first line) but he never got around to it. Both projects are now unmaintained. Carl is working on a comprehensive event-driven HTTP (and Websockets) framework for Clojure. I'm just borrowing his parser and re-wrapping it in Ruby. I prefer to use Carl's as he's (at least for now) actively maintaining it, as opposed to using Zed's abandonware.
- samstokes 15y agoLooks very promising. I see it currently uses Net::HTTP under the hood - do you plan to keep it that way, like Httparty and Faraday, or are you going to do away with Net::HTTP altogether? (The comment saying "this is temporary" next to requiring 'net/https' is encouraging... :))
- bascule 15y agoI plan on eliminating Net::HTTP entirely and writing my own client using Carl Lerche's parser for his Picard library which is written in Ragel: https://github.com/tarcieri/http/tree/master/parser https://github.com/tarcieri/http/tree/master/parser
- angelbob 15y agoAlso Typhoeus and RestClient. Probably others.