Net::HTTP

11 views
Skip to first unread message

John Merlino

unread,
May 7, 2013, 1:43:32 PM5/7/13
to Ruby on Rails: Talk
I'm looking at the documentation:
http://ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html

And I notice two uses of Net::HTTP. Both are using GET requests. But
what's the difference? When to use which?

Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri

response = http.request request # Net::HTTPResponse object
end



uri = URI('http://example.com/index.html')
res = Net::HTTP.get_response(uri)

tamouse mailing lists

unread,
May 7, 2013, 10:00:44 PM5/7/13
to rubyonra...@googlegroups.com
I'm not sure there is a definitive answer, but my heuristic is that if
I'm going to do a few things with the connection, I'll use the first
form (send code into the block, as this ensures the connection shuts
down at the end of the block.

If I'm only getting one thing and then carrying on with it with no
need for using that connection again, I'll use the second form.

But again, this is only a heuristic, and not definitive.

Frederick Cheung

unread,
May 8, 2013, 5:56:02 AM5/8/13
to rubyonra...@googlegroups.com


On Tuesday, May 7, 2013 6:43:32 PM UTC+1, John Merlino wrote:
I'm looking at the documentation:
http://ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html

And I notice two uses of Net::HTTP. Both are using GET requests. But
what's the difference? When to use which?


It's the usual tradeoff between convenience and extensiveness. The long form allows you to pipeline requests, set more options on the request (eg headers etc.) but a lot of the time you just want to grab the content from a url and don't need all the ceremony

Fred 
Reply all
Reply to author
Forward
0 new messages