MinHTTP
An HTTP library for the minimalist. MinHTTP allows you to send and receive raw HTTP requests. It's a very thin wrapper around EventMachine's connect method with some SSL validation added. It uses http_parser.rb for very fast HTTP parsing.
Example:
require 'minhttp'
data = <<-HTTP
GET / HTTP/1.0\r
Host: www.google.com\r
HTTP
EventMachine::run do
Http::Min.connect("www.google.com", data) do |raw_response, parsed_response|
puts "Received #{parsed_response.status_code} status from Google"
puts "First 100 characters of raw HTTP response:"
puts raw_response[0..100]
EM::stop
end
end
Features:
* Issue an exact HTTP request
* See the exact HTTP response
* See the parsed HTTP response
* Validate the certificate of the server
Non-Features:
* get() or post() helper methods (plenty of other HTTP libraries have these)