module Awsmeta::Request

contains methods used to request and parse metadata

Public Instance Methods

get(url) click to toggle source
# File lib/awsmeta/request.rb, line 8
def get(url)
  uri = URI.parse(url)
  req = Net::HTTP.new(uri.host, uri.port)
  req.read_timeout = Awsmeta::Config.read_timeout
  req.open_timeout = Awsmeta::Config.open_timeout
  req.start { |http| http.get(uri.to_s) }
end
request(url) click to toggle source
# File lib/awsmeta/request.rb, line 22
def request(url)
  response = get(url)
  return { error: response.message, code: response.code } if
    response.code != '200'

  result = safe_json_parse(response.body)
  { resource: result }
end
safe_json_parse(string) click to toggle source
# File lib/awsmeta/request.rb, line 16
def safe_json_parse(string)
  JSON.parse(string)
rescue JSON::ParserError
  string
end