Yes, it is.

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy

**Signature:** Proxy(p_addr, p_port = nil, p_user = nil, p_pass = nil)

_"You can replace any use of the Net::HTTP class with use of the proxy class created. ... **f p_addr is nil, this method returns self (a Net::HTTP object)**."_

```
[jblaine@dev:~/src/chef-repo/cookbooks] env | grep -i proxy
[jblaine@dev:~/src/chef-repo/cookbooks] irb
irb(main):001:0> require 'ostruct'
=> true
irb(main):002:0> require 'uri'
=> true
irb(main):003:0> require 'net/http'
=> true
irb(main):004:0> url = URI.parse('http://foo.com')
=> #<URI::HTTP:0x00000000f20490 URL:http://foo.com>
irb(main):005:0> proxy = ENV['http_proxy'] ? URI.parse(ENV['http_proxy']) : OpenStruct.new
=> #<OpenStruct>
irb(main):006:0> proxy.host
=> nil
irb(main):007:0> proxy.port
=> nil
irb(main):008:0> http = Net::HTTP::Proxy(proxy.host, proxy.port).new(url.host, url.port)
=> #<Net::HTTP foo.com:80 open=false>
irb(main):009:0> http = Net::HTTP.new('foo.com', '80')
=> #<Net::HTTP foo.com:80 open=false>
irb(main):010:0>
```