class GPDRequest

Public Class Methods

new(user=nil, pass=nil, headers={}) click to toggle source
# File lib/gpd-request.rb, line 10
def initialize(user=nil, pass=nil, headers={})
  @headers = {
    "User-Agent" => "Ruby-GPDRequest"
  }.merge headers
  @username, @password = user, pass
end

Public Instance Methods

array_delete(a, form_data={}) click to toggle source
# File lib/gpd-request.rb, line 70
def array_delete(a, form_data={})
  a.map do  |uri|
    request(uri) do |url| 
      req = Net::HTTP::Delete.new(url.path, @headers)
      req.set_form_data form_data unless form_data.empty?
      req
    end
  end
end
delete(arg, form_data={}) click to toggle source
# File lib/gpd-request.rb, line 57
def delete(arg, form_data={})
  methods = {String: :string_delete, Array: :array_delete}
  send (methods[arg.class.to_s.to_sym]), arg, form_data
end
get(uri, params={}) click to toggle source
# File lib/gpd-request.rb, line 28
def get(uri, params={})
  
  if uri =~ /^http:/ then
    
    request(uri) do |url| 
      
      if params.any? then
        
        encoded_params = URI.encode_www_form(params)
        Net::HTTP::Get.new [url.path, encoded_params].join('?'), @headers
        
      else
        Net::HTTP::Get.new url.path, @headers
      end
    end
  elsif uri =~ /^https:/
    Net::HTTP.get_response(URI.parse(uri))
  end
end
post(uri, form_data={}) click to toggle source
# File lib/gpd-request.rb, line 48
def post(uri, form_data={})

  request(uri) do |url| 
    req = Net::HTTP::Post.new(url.path, @headers)
    req.set_form_data form_data unless form_data.empty?
    req
  end
end
request(uri) { |url| ... } click to toggle source
# File lib/gpd-request.rb, line 17
def request(uri)  
  path = uri
  url = URI.parse(path)
  req = yield(url)
  req.basic_auth(@username, @password) if @username
  response = Net::HTTP.new(url.host, url.port).start do |http| 
    http.request(req) 
  end
  response
end
string_delete(uri, form_data={}) click to toggle source
# File lib/gpd-request.rb, line 62
def string_delete(uri, form_data={})
  request(uri) do |url| 
    req = Net::HTTP::Delete.new(url.path, @headers)
    req.set_form_data form_data unless form_data.empty?
    req
  end
end