Module: GW2

Included in:
Event, Guild, Item, Map, Misc, Recipe, WvW
Defined in:
lib/gw2.rb,
lib/gw2/map.rb,
lib/gw2/wvw.rb,
lib/gw2/item.rb,
lib/gw2/misc.rb,
lib/gw2/event.rb,
lib/gw2/guild.rb,
lib/gw2/recipe.rb,
lib/gw2/map/maps.rb,
lib/gw2/item/items.rb,
lib/gw2/misc/build.rb,
lib/gw2/misc/files.rb,
lib/gw2/misc/colors.rb,
lib/gw2/wvw/matches.rb,
lib/gw2/event/events.rb,
lib/gw2/map/map_floor.rb,
lib/gw2/map/continents.rb,
lib/gw2/recipe/recipes.rb,
lib/gw2/event/map_names.rb,
lib/gw2/event/event_names.rb,
lib/gw2/event/world_names.rb,
lib/gw2/item/item_details.rb,
lib/gw2/wvw/match_details.rb,
lib/gw2/guild/guild_details.rb,
lib/gw2/wvw/objective_names.rb,
lib/gw2/recipe/recipe_details.rb

Defined Under Namespace

Modules: Event, Guild, Item, Map, Misc, Recipe, WvW

Constant Summary collapse

BASE_URL =
"https://api.guildwars2.com/v1"

Instance Method Summary collapse

Instance Method Details

#request(attr = { action: "Get" }) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/gw2.rb', line 14

def request(attr = { action: "Get" })
  uri = URI.parse(attr[:url])

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = attr[:ssl]
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE if attr[:ssl] # need to get a cert -_____-

  net_http = Net::HTTP
  request = net_http.const_get(attr[:action]).new(uri.request_uri)
  attr[:headers].each { |key, value| request[key.to_s] = value } if attr[:headers]

  request.set_form_data(attr[:form_data]) if attr[:form_data]

  http.request(request)
end