Module: Thermite::Util
- Included in:
- Tasks
- Defined in:
- lib/thermite/util.rb
Overview
Utility methods
Instance Method Summary collapse
-
#debug(msg) ⇒ Object
Logs a debug message to the specified
config.debug_filename
, if set. -
#http_get(uri, retries_left = 10) ⇒ Object
Wrapper for a Net::HTTP GET request that handles redirects.
Instance Method Details
#debug(msg) ⇒ Object
Logs a debug message to the specified config.debug_filename
, if set.
30 31 32 33 34 35 36 37 |
# File 'lib/thermite/util.rb', line 30 def debug(msg) # Should probably replace with a Logger return unless config.debug_filename @debug ||= File.open(config.debug_filename, 'w') @debug.write("#{msg}\n") @debug.flush end |
#http_get(uri, retries_left = 10) ⇒ Object
Wrapper for a Net::HTTP GET request that handles redirects.
:nocov:
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/thermite/util.rb', line 43 def http_get(uri, retries_left = 10) raise RedirectError, 'Too many redirects' if retries_left.zero? case (response = Net::HTTP.get_response(URI(uri))) when Net::HTTPClientError nil when Net::HTTPServerError raise Net::HTTPServerException.new(response., response) when Net::HTTPFound, Net::HTTPPermanentRedirect http_get(response['location'], retries_left - 1) else StringIO.new(response.body) end end |