MailchimpMarketing 3.0.8 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/MailchimpMarketing.gemspec +2 -2
  3. data/README.md +2 -2
  4. data/lib/MailchimpMarketing.rb +1 -1
  5. data/lib/MailchimpMarketing/api/activity_feed_api.rb +1 -6
  6. data/lib/MailchimpMarketing/api/authorized_apps_api.rb +1 -8
  7. data/lib/MailchimpMarketing/api/automations_api.rb +1 -40
  8. data/lib/MailchimpMarketing/api/batch_webhooks_api.rb +1 -12
  9. data/lib/MailchimpMarketing/api/batches_api.rb +1 -10
  10. data/lib/MailchimpMarketing/api/campaign_folders_api.rb +1 -12
  11. data/lib/MailchimpMarketing/api/campaigns_api.rb +1 -46
  12. data/lib/MailchimpMarketing/api/connected_sites_api.rb +1 -12
  13. data/lib/MailchimpMarketing/api/conversations_api.rb +1 -12
  14. data/lib/MailchimpMarketing/api/dashboard_api.rb +1 -14
  15. data/lib/MailchimpMarketing/api/ecommerce_api.rb +1 -120
  16. data/lib/MailchimpMarketing/api/external_auths_api.rb +1 -8
  17. data/lib/MailchimpMarketing/api/facebook_ads_api.rb +1 -6
  18. data/lib/MailchimpMarketing/api/file_manager_api.rb +1 -24
  19. data/lib/MailchimpMarketing/api/landing_pages_api.rb +1 -18
  20. data/lib/MailchimpMarketing/api/lists_api.rb +1 -134
  21. data/lib/MailchimpMarketing/api/ping_api.rb +1 -4
  22. data/lib/MailchimpMarketing/api/postcards_api.rb +1 -4
  23. data/lib/MailchimpMarketing/api/reporting_api.rb +1 -14
  24. data/lib/MailchimpMarketing/api/reports_api.rb +1 -46
  25. data/lib/MailchimpMarketing/api/root_api.rb +1 -4
  26. data/lib/MailchimpMarketing/api/search_campaigns_api.rb +1 -4
  27. data/lib/MailchimpMarketing/api/search_members_api.rb +1 -4
  28. data/lib/MailchimpMarketing/api/template_folders_api.rb +1 -12
  29. data/lib/MailchimpMarketing/api/templates_api.rb +1 -14
  30. data/lib/MailchimpMarketing/api/verified_domains_api.rb +1 -12
  31. data/lib/MailchimpMarketing/api_client.rb +16 -118
  32. data/lib/MailchimpMarketing/api_error.rb +1 -1
  33. data/lib/MailchimpMarketing/configuration.rb +1 -1
  34. data/lib/MailchimpMarketing/version.rb +2 -2
  35. metadata +4 -10
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class RootApi
@@ -27,13 +26,11 @@ module MailchimpMarketing
27
26
  query_params = {}
28
27
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
29
28
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
30
- form_params = {}
31
29
  post_body = nil
32
30
 
33
31
  local_var_path = '/'
34
32
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
35
33
  :query_params => query_params,
36
- :form_params => form_params,
37
34
  :body => post_body)
38
35
  return data, status_code, headers
39
36
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class SearchCampaignsApi
@@ -29,13 +28,11 @@ module MailchimpMarketing
29
28
  query_params[:'query'] = query
30
29
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
31
30
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
32
- form_params = {}
33
31
  post_body = nil
34
32
 
35
33
  local_var_path = '/search-campaigns'
36
34
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
37
35
  :query_params => query_params,
38
- :form_params => form_params,
39
36
  :body => post_body)
40
37
  return data, status_code, headers
41
38
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class SearchMembersApi
@@ -30,13 +29,11 @@ module MailchimpMarketing
30
29
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
31
30
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
32
31
  query_params[:'list_id'] = opts[:'list_id'] if !opts[:'list_id'].nil?
33
- form_params = {}
34
32
  post_body = nil
35
33
 
36
34
  local_var_path = '/search-members'
37
35
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
38
36
  :query_params => query_params,
39
- :form_params => form_params,
40
37
  :body => post_body)
41
38
  return data, status_code, headers
42
39
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class TemplateFoldersApi
@@ -26,13 +25,11 @@ module MailchimpMarketing
26
25
  fail ArgumentError, "Missing required param: 'folder_id'" if folder_id.nil?
27
26
 
28
27
  query_params = {}
29
- form_params = {}
30
28
  post_body = nil
31
29
 
32
30
  local_var_path = '/template-folders/{folder_id}'.sub('{' + 'folder_id' + '}', folder_id.to_s)
33
31
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
34
32
  :query_params => query_params,
35
- :form_params => form_params,
36
33
  :body => post_body)
37
34
  return data, status_code, headers
38
35
  end
@@ -46,13 +43,11 @@ module MailchimpMarketing
46
43
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
47
44
  query_params[:'count'] = opts[:'count'] if !opts[:'count'].nil?
48
45
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
49
- form_params = {}
50
46
  post_body = nil
51
47
 
52
48
  local_var_path = '/template-folders'
53
49
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
54
50
  :query_params => query_params,
55
- :form_params => form_params,
56
51
  :body => post_body)
57
52
  return data, status_code, headers
58
53
  end
@@ -64,13 +59,11 @@ module MailchimpMarketing
64
59
  query_params = {}
65
60
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
66
61
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
67
- form_params = {}
68
62
  post_body = nil
69
63
 
70
64
  local_var_path = '/template-folders/{folder_id}'.sub('{' + 'folder_id' + '}', folder_id.to_s)
71
65
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
72
66
  :query_params => query_params,
73
- :form_params => form_params,
74
67
  :body => post_body)
75
68
  return data, status_code, headers
76
69
  end
@@ -81,13 +74,11 @@ module MailchimpMarketing
81
74
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
82
75
 
83
76
  query_params = {}
84
- form_params = {}
85
77
  post_body = @api_client.object_to_http_body(body)
86
78
 
87
79
  local_var_path = '/template-folders/{folder_id}'.sub('{' + 'folder_id' + '}', folder_id.to_s)
88
80
  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
89
81
  :query_params => query_params,
90
- :form_params => form_params,
91
82
  :body => post_body)
92
83
  return data, status_code, headers
93
84
  end
@@ -97,13 +88,11 @@ module MailchimpMarketing
97
88
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
98
89
 
99
90
  query_params = {}
100
- form_params = {}
101
91
  post_body = @api_client.object_to_http_body(body)
102
92
 
103
93
  local_var_path = '/template-folders'
104
94
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
105
95
  :query_params => query_params,
106
- :form_params => form_params,
107
96
  :body => post_body)
108
97
  return data, status_code, headers
109
98
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class TemplatesApi
@@ -26,13 +25,11 @@ module MailchimpMarketing
26
25
  fail ArgumentError, "Missing required param: 'template_id'" if template_id.nil?
27
26
 
28
27
  query_params = {}
29
- form_params = {}
30
28
  post_body = nil
31
29
 
32
30
  local_var_path = '/templates/{template_id}'.sub('{' + 'template_id' + '}', template_id.to_s)
33
31
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
34
32
  :query_params => query_params,
35
- :form_params => form_params,
36
33
  :body => post_body)
37
34
  return data, status_code, headers
38
35
  end
@@ -54,13 +51,11 @@ module MailchimpMarketing
54
51
  query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil?
55
52
  query_params[:'folder_id'] = opts[:'folder_id'] if !opts[:'folder_id'].nil?
56
53
  query_params[:'sort_field'] = opts[:'sort_field'] if !opts[:'sort_field'].nil?
57
- form_params = {}
58
54
  post_body = nil
59
55
 
60
56
  local_var_path = '/templates'
61
57
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
62
58
  :query_params => query_params,
63
- :form_params => form_params,
64
59
  :body => post_body)
65
60
  return data, status_code, headers
66
61
  end
@@ -72,13 +67,11 @@ module MailchimpMarketing
72
67
  query_params = {}
73
68
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
74
69
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
75
- form_params = {}
76
70
  post_body = nil
77
71
 
78
72
  local_var_path = '/templates/{template_id}'.sub('{' + 'template_id' + '}', template_id.to_s)
79
73
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
80
74
  :query_params => query_params,
81
- :form_params => form_params,
82
75
  :body => post_body)
83
76
  return data, status_code, headers
84
77
  end
@@ -90,13 +83,11 @@ module MailchimpMarketing
90
83
  query_params = {}
91
84
  query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :csv) if !opts[:'fields'].nil?
92
85
  query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :csv) if !opts[:'exclude_fields'].nil?
93
- form_params = {}
94
86
  post_body = nil
95
87
 
96
88
  local_var_path = '/templates/{template_id}/default-content'.sub('{' + 'template_id' + '}', template_id.to_s)
97
89
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
98
90
  :query_params => query_params,
99
- :form_params => form_params,
100
91
  :body => post_body)
101
92
  return data, status_code, headers
102
93
  end
@@ -107,13 +98,11 @@ module MailchimpMarketing
107
98
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
108
99
 
109
100
  query_params = {}
110
- form_params = {}
111
101
  post_body = @api_client.object_to_http_body(body)
112
102
 
113
103
  local_var_path = '/templates/{template_id}'.sub('{' + 'template_id' + '}', template_id.to_s)
114
104
  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
115
105
  :query_params => query_params,
116
- :form_params => form_params,
117
106
  :body => post_body)
118
107
  return data, status_code, headers
119
108
  end
@@ -123,13 +112,11 @@ module MailchimpMarketing
123
112
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
124
113
 
125
114
  query_params = {}
126
- form_params = {}
127
115
  post_body = @api_client.object_to_http_body(body)
128
116
 
129
117
  local_var_path = '/templates'
130
118
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
131
119
  :query_params => query_params,
132
- :form_params => form_params,
133
120
  :body => post_body)
134
121
  return data, status_code, headers
135
122
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,6 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'uri'
14
- require 'json'
15
14
 
16
15
  module MailchimpMarketing
17
16
  class VerifiedDomainsApi
@@ -26,13 +25,11 @@ module MailchimpMarketing
26
25
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
27
26
 
28
27
  query_params = {}
29
- form_params = {}
30
28
  post_body = @api_client.object_to_http_body(body)
31
29
 
32
30
  local_var_path = '/verified-domains'
33
31
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
34
32
  :query_params => query_params,
35
- :form_params => form_params,
36
33
  :body => post_body)
37
34
  return data, status_code, headers
38
35
  end
@@ -42,13 +39,11 @@ module MailchimpMarketing
42
39
  fail ArgumentError, "Missing required param: 'domain_name'" if domain_name.nil?
43
40
 
44
41
  query_params = {}
45
- form_params = {}
46
42
  post_body = nil
47
43
 
48
44
  local_var_path = '/verified-domains/{domain_name}'.sub('{' + 'domain_name' + '}', domain_name.to_s)
49
45
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
50
46
  :query_params => query_params,
51
- :form_params => form_params,
52
47
  :body => post_body)
53
48
  return data, status_code, headers
54
49
  end
@@ -58,13 +53,11 @@ module MailchimpMarketing
58
53
  fail ArgumentError, "Missing required param: 'domain_name'" if domain_name.nil?
59
54
 
60
55
  query_params = {}
61
- form_params = {}
62
56
  post_body = nil
63
57
 
64
58
  local_var_path = '/verified-domains/{domain_name}'.sub('{' + 'domain_name' + '}', domain_name.to_s)
65
59
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
66
60
  :query_params => query_params,
67
- :form_params => form_params,
68
61
  :body => post_body)
69
62
  return data, status_code, headers
70
63
  end
@@ -73,13 +66,11 @@ module MailchimpMarketing
73
66
  def get_verified_domains_all(opts = {})
74
67
 
75
68
  query_params = {}
76
- form_params = {}
77
69
  post_body = nil
78
70
 
79
71
  local_var_path = '/verified-domains'
80
72
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
81
73
  :query_params => query_params,
82
- :form_params => form_params,
83
74
  :body => post_body)
84
75
  return data, status_code, headers
85
76
  end
@@ -90,13 +81,11 @@ module MailchimpMarketing
90
81
  fail ArgumentError, "Missing required param: 'body'" if body.nil?
91
82
 
92
83
  query_params = {}
93
- form_params = {}
94
84
  post_body = @api_client.object_to_http_body(body)
95
85
 
96
86
  local_var_path = '/verified-domains/{domain_name}/actions/verify'.sub('{' + 'domain_name' + '}', domain_name.to_s)
97
87
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
98
88
  :query_params => query_params,
99
- :form_params => form_params,
100
89
  :body => post_body)
101
90
  return data, status_code, headers
102
91
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
5
 
6
- OpenAPI spec version: 3.0.8
6
+ OpenAPI spec version: 3.0.9
7
7
  Contact: apihelp@mailchimp.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.12
@@ -11,7 +11,7 @@ Swagger Codegen version: 2.4.12
11
11
  =end
12
12
 
13
13
  require 'json'
14
- require 'faraday'
14
+ require 'excon'
15
15
 
16
16
  module MailchimpMarketing
17
17
  class ApiClient
@@ -41,6 +41,7 @@ module MailchimpMarketing
41
41
  def set_config(config = {})
42
42
  @api_key = config[:api_key] || ''
43
43
  @is_basic_auth = @api_key.to_s.strip.empty? == false
44
+
44
45
  @access_token = config[:access_token] || ''
45
46
  @is_oauth = @access_token.to_s.strip.empty? == false
46
47
 
@@ -53,126 +54,28 @@ module MailchimpMarketing
53
54
  end
54
55
 
55
56
  def call_api(http_method, path, opts = {})
56
- header_params = {
57
- 'Content-Type' => 'application/json',
58
- 'User-Agent' => @user_agent
59
- }
60
- query_params = opts[:query_params] || {}
61
- form_params = opts[:form_params] || {}
62
-
63
- body = {}
64
- if [:post, :patch, :put, :delete].include?(http_method.to_sym.downcase)
65
- body = build_request_body(header_params, form_params, opts[:body])
66
- end
67
-
68
- res = request(http_method, path, query_params, header_params, body)
69
-
70
- data = nil
71
- if res.headers['content-type'] && res.headers['content-type'].include?('application/json')
72
- data = JSON.parse(res.body)
73
- else
74
- data = res.body
75
- end
76
-
77
- if data
78
- if res.status <= 200
79
- data
80
- else
81
- fail ApiError.new(res.body)
82
- end
83
- end
84
- end
57
+ headers = {'Content-Type' => "application/json"}
58
+ headers[:Authorization] = "Basic #{@api_key}" if @is_basic_auth
59
+ headers[:Authorization] = "Bearer #@access_token" if @is_oauth
85
60
 
86
- def request(http_method, path, query_params = nil, header_params = nil, body = nil)
87
61
  host = @server.length > 0 ? @host.sub('server', @server) : @host
88
- url = host + path
89
-
90
- # Apply Authentication
91
- conn = Faraday.new(url) do |conn|
92
- conn.headers = header_params
93
- conn.params = query_params
94
-
95
- if @is_basic_auth
96
- conn.basic_auth('user', @api_key)
97
- elsif @is_oauth
98
- conn.headers["Authorization"] = "Bearer #{@access_token}"
99
- end
100
- end
62
+ conn = Excon.new(host + path, :headers => headers)
101
63
 
64
+ res = nil
102
65
  case http_method.to_sym.downcase
103
- when :delete
104
- conn.delete do |req|
105
- req.body = body.to_json
106
- end
66
+ when :post, :put, :delete
67
+ res = conn.request(:method => http_method, :body => opts[:body])
107
68
  when :get
108
- conn.get
109
- when :head
110
- conn.head
111
- when :options
112
- conn.options
113
- when :post
114
- conn.post do |req|
115
- req.body = body.to_json
116
- end
117
- when :put
118
- conn.put do |req|
119
- req.body = body.to_json
120
- end
121
- when :patch
122
- conn.patch do |req|
123
- req.body = body.to_json
124
- end
125
- else
126
- fail ApiError.new('Invalid http_method')
69
+ res = conn.get(:query => opts[:query_params])
127
70
  end
128
- end
129
-
130
- # Sanitize filename by removing path.
131
- # e.g. ../../sun.gif becomes sun.gif
132
- def sanitize_filename(filename)
133
- filename.gsub(/.*[\/\\]/, '')
134
- end
135
-
136
- # Add leading and trailing slashes to path
137
- def build_request_url(path)
138
- path = "/#{path}".gsub(/\/+/, '/')
139
- URI.encode(@config.base_url + path)
140
- end
141
71
 
142
- # Format HTTP request body as string
143
- def build_request_body(header_params, form_params, body)
144
- if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
145
- header_params['Content-Type'] == 'multipart/form-data'
146
- data = {}
147
- form_params.each do |key, value|
148
- case value
149
- when ::File, ::Array, nil
150
- data[key] = value
151
- else
152
- data[key] = value.to_s
153
- end
154
- end
155
- elsif body
156
- data = body.is_a?(String) ? body : body.to_json
72
+ if res.status == 204
73
+ return "success"
74
+ elsif res.status == 200
75
+ return JSON.parse(res.body)
157
76
  else
158
- data = nil
77
+ return res.body
159
78
  end
160
- data
161
- end
162
-
163
- # Return Accept header based on an array of accepts provided.
164
- def select_header_accept(accepts)
165
- return nil if accepts.nil? || accepts.empty?
166
- json_accept = accepts.find { |s| json_mime?(s) }
167
- json_accept || accepts.join(',')
168
- end
169
-
170
- # Return Content-Type header based on an array of content types provided.
171
- def select_header_content_type(content_types)
172
- return 'application/json' if content_types.nil? || content_types.empty?
173
-
174
- json_content_type = content_types.find { |s| json_mime?(s) }
175
- json_content_type || content_types.first
176
79
  end
177
80
 
178
81
  # Convert object (array, hash, object, etc) to JSON string.
@@ -213,10 +116,5 @@ module MailchimpMarketing
213
116
  fail "unknown collection format: #{collection_format.inspect}"
214
117
  end
215
118
  end
216
-
217
- # Check if the given MIME is a JSON MIME.
218
- def json_mime?(mime)
219
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
220
- end
221
119
  end
222
120
  end