class API_Fuzzer::Request

Attributes

request[RW]
response[RW]

Public Class Methods

send_api_request(options = {}) click to toggle source
# File lib/API_Fuzzer/request.rb, line 8
def send_api_request(options = {})
  @url = options.delete(:url)
  @params = options.delete(:params) || {}
  @method = options.delete(:method) || :get
  @json = options.delete(:json) ? true : false
  @body = options.delete(:body) ? true : false
  @request = set_cookies_headers(options)
  send_request
end

Private Class Methods

method_get?() click to toggle source
# File lib/API_Fuzzer/request.rb, line 65
def self.method_get?
  @method.to_s == 'get'
end
send_request() click to toggle source
# File lib/API_Fuzzer/request.rb, line 36
def self.send_request
  @response = case @method.to_sym
  when :post
    @request.post(@url, set_params)
  when :put
    @request.put(@url, set_params)
  when :patch
    @request.patch(@url, set_params)
  when :head
    @request.head(@url, set_params)
  when :delete
    @request.delete(@url, set_params)
  else
    @request.get(@url, set_params)
  end
end
set_cookies_headers(options = {}) click to toggle source
# File lib/API_Fuzzer/request.rb, line 29
def self.set_cookies_headers(options = {})
  cookies = options.delete(:cookies) || {}
  headers = options.delete(:headers) || {}
  request_object = HTTP.headers(headers).cookies(cookies)
  request_object
end
set_params() click to toggle source
# File lib/API_Fuzzer/request.rb, line 53
def self.set_params
  if @json && !method_get?
    { 'json' => @params }
  elsif method_get?
    { 'params' => @params }
  elsif @body
    { 'body' => @params }
  else
    { 'form' => @params }
  end
end

Public Instance Methods

success?() click to toggle source
# File lib/API_Fuzzer/request.rb, line 23
def success?
  @response.code == 200
end