Class: Zerobounce::Request

Inherits:
BaseRequest show all
Defined in:
lib/zerobounce/request.rb

Overview

Sends the HTTP request.

Class Method Summary collapse

Class Method Details

.bulk_get(path, params, content_type = 'application/json') ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/zerobounce/request.rb', line 31

def self.bulk_get(path, params, content_type='application/json')
  response = self._get(Zerobounce::BULK_API_ROOT_URL, path, params, content_type)
  if response.headers[:content_type] == 'application/json'
    response_body = response.body
    response_body_json = JSON.parse(response_body)

    raise (response_body_json['error']) if response_body_json.key?('error')
    raise (response_body_json['errors'][0]['error']) \
      if response_body_json.key?('errors') and \
        response_body_json['errors'].length > 0

    return response_body_json
  else
    content = StringIO.new(response.body)
    content.set_encoding_by_bom
    return content.string
  end
end

.bulk_post(path, params, content_type = 'application/json', filepath = nil) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/zerobounce/request.rb', line 50

def self.bulk_post(path, params, content_type='application/json', filepath=nil)
  response = self._post(Zerobounce::BULK_API_ROOT_URL, path, params, \
      content_type, filepath)
  if response.headers[:content_type] == 'application/json'
    response_body = response.body
    response_body_json = JSON.parse(response_body)

    raise (response_body_json['error']) if response_body_json.key?('error')
    raise (response_body_json['errors'][0]['error']) \
      if response_body_json.key?('errors') and \
        response_body_json['errors'].length > 0

    return response_body_json
  end
  return response.body
end

.get(path, params, content_type = 'application/json') ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/zerobounce/request.rb', line 11

def self.get(path, params, content_type='application/json')
  response = self._get(Zerobounce::API_ROOT_URL, path, params, content_type)
  if response.headers[:content_type] == 'application/json'
    response_body = response.body
    response_body_json = JSON.parse(response_body)

    raise (response_body_json['error']) if response_body_json.key?('error')
    raise (response_body_json['Message']) \
      if response_body_json.key?('Message') and \
        response_body_json.length == 1
    raise (response_body_json['errors'][0]['error']) \
      if response_body_json.key?('errors') and \
        response_body_json['errors'].length > 0

    return response_body_json
  else
    return response
  end
end