module Pluct::Helpers::Request

Constants

DEFAULT_HEADERS

Protected Instance Methods

delete(url, headers = nil) click to toggle source
# File lib/pluct/helpers/request.rb, line 30
def delete(url, headers = nil)
  headers = (headers ? DEFAULT_HEADERS.merge(headers) : DEFAULT_HEADERS)
  RestClient.delete(url, headers)
rescue RestClient::Exception => e
  raise_exception(url, e)
end
get(url, data = nil, headers = nil) click to toggle source
# File lib/pluct/helpers/request.rb, line 12
def get(url, data = nil, headers = nil)
  headers = (headers ? DEFAULT_HEADERS.merge(headers) : DEFAULT_HEADERS)
  options = headers.dup
  options.merge!(params: data)
  RestClient.get(url, options)
rescue RestClient::Exception => e
  raise_exception(url, e)
end
head(url, *opts) click to toggle source
# File lib/pluct/helpers/request.rb, line 21
def head(url, *opts)
  options = Hash[opts] if opts
  resource = RestClient::Resource.new(url)
  options = (options ? DEFAULT_HEADERS.merge(options) : DEFAULT_HEADERS)
  resource.head(options)
rescue RestClient::Exception => e
  raise_exception(url, e)
end
patch(url, *opts) click to toggle source
# File lib/pluct/helpers/request.rb, line 57
def patch(url, *opts)
  data, options = *opts
  options = Hash[options] if options
  resource = RestClient::Resource.new(url)
  options = (options ? DEFAULT_HEADERS.merge(options) : DEFAULT_HEADERS)
  resource.patch(data.to_json, options)
rescue RestClient::Exception => e
  raise_exception(url, e)
end
post(url, *opts) click to toggle source
# File lib/pluct/helpers/request.rb, line 37
def post(url, *opts)
  data, options = *opts
  options = Hash[opts] if options
  resource = RestClient::Resource.new(url)
  options = (options ? DEFAULT_HEADERS.merge(options) : DEFAULT_HEADERS)
  resource.post(data.to_json, options)
rescue RestClient::Exception => e
  raise_exception(url, e)
end
put(url, *opts) click to toggle source
# File lib/pluct/helpers/request.rb, line 47
def put(url, *opts)
  data, options = *opts
  options = Hash[*opts] if options
  resource = RestClient::Resource.new(url)
  options = (options ? DEFAULT_HEADERS.merge(options) : DEFAULT_HEADERS)
  resource.put(data.to_json, options)
rescue RestClient::Exception => e
  raise_exception(url, e)
end

Private Instance Methods

raise_exception(url, exception) click to toggle source
# File lib/pluct/helpers/request.rb, line 68
def raise_exception(url, exception)
  case exception.http_code
    when 401
       raise Pluct::Errors::Unauthorized, {http_code: 401, error_description: "Url: #{url} - Exception Message: #{exception.message}"}
    when 404
       raise Pluct::Errors::UrlNotFound, {http_code: 404, error_description: "Url: #{url} - Exception Message: #{exception.message}"}
  end
end