lib/rubygems/commands/inabox_command.rb in geminabox-0.2.6 vs lib/rubygems/commands/inabox_command.rb in geminabox-0.2.7

- old
+ new

@@ -50,14 +50,22 @@ File.open(@gemfile, "rb") do |file| url = URI.parse(geminabox_host) request_body, request_headers = Multipart::MultipartPost.new.prepare_query("file" => file) - Net::HTTP.start(url.host, url.port) {|con| + proxy.start(url.host, url.port) {|con| req = Net::HTTP::Post.new('/upload', request_headers) req.basic_auth(url.user, url.password) if url.user handle_response(con.request(req, request_body)) } + end + end + + def proxy + if proxy_info = ENV['http_proxy'] || ENV['HTTP_PROXY'] and uri = URI.parse(proxy_info) + Net::HTTP::Proxy(uri.host, uri.port, uri.user, uri.password) + else + Net::HTTP end end def handle_response(response) case response