From ba968516067e03adc4e31d7fb96334e44c4f6798 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 2 Aug 2013 18:18:34 -0500 Subject: [PATCH] Always load net/https before referencing related constants I put this require inside the method body, because eager-loading net/https is slow compared to the rest of Homebrew, and utils.rb is loaded for each `brew` invocation. It's probably worth breaking up global.rb a bit, to reduce the amount of code we are loading unnecessarily, but hopefully also to make inter-file dependencies a bit more obvious. Fixes Homebrew/homebrew#21617. --- Library/Homebrew/utils.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index e1f1b6b985..8183549931 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -244,6 +244,8 @@ module GitHub extend self Error = Class.new(StandardError) def open url, headers={}, &block + require 'net/https' # for exception classes below + default_headers = {'User-Agent' => HOMEBREW_USER_AGENT} default_headers['Authorization'] = "token #{HOMEBREW_GITHUB_API_TOKEN}" if HOMEBREW_GITHUB_API_TOKEN Kernel.open(url, default_headers.merge(headers), &block)