mailosaur 5.0.2 → 5.0.20

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6873ba1b5eb8d927299a2a1e98bfa0c9358fdc1e
4
- data.tar.gz: bb0b7f78965bb63ad0e6daad0f6909a834856e4c
2
+ SHA256:
3
+ metadata.gz: 0ac89c532d7f0519c3a2d620af601b75e7b83dffc3df92e842acb7de6610d2a1
4
+ data.tar.gz: f1dc7d047492d560f764fbf3f3ac7937e26a29f4ce163c744f017562cbba4e33
5
5
  SHA512:
6
- metadata.gz: c1e2af464eab76853b7299d5ac1bbe85a8a7f23e856f605a1200813b7e9fcc362ecf2ce66860b447409d03a88cab7e82b1e3b1d6fe619f406c1cd2600d23fe5a
7
- data.tar.gz: bfaa9d18ce603e8c8ee0d4533d62919446e04af6936956dda6ff20ebf34ffb508aac807405feb8b207d2c8b2b67ee1539190d1ea53ad2c91b546d0d060dcc09a
6
+ metadata.gz: fc72c693120dc3a6730d96c7666a4100bd000a6ef237470df762737cc0bfb00a6b7979e5be9ba273e11a92dd8ab68e19a14dd42a83d6ed2ea9d14fe7d78e7eec
7
+ data.tar.gz: 8c6982baaee8c5c733ed3816440340a746606512acf1f0d1e523aca08f11129ffab06481ffef676f484273952460f86caa8b2fec529f959489e08f9d63322810
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 Mailosaur Ltd (https://mailosaur.com)
3
+ Copyright (c) 2019 Mailosaur Ltd (https://mailosaur.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -14,45 +14,6 @@ gem install mailosaur
14
14
 
15
15
  [Mailosaur's documentation](https://mailosaur.com/docs) includes all the information and usage examples you'll need.
16
16
 
17
- ## Building
18
-
19
- 1. Install [Node.js](https://nodejs.org/) (LTS)
20
-
21
- 2. Install [AutoRest](https://github.com/Azure/autorest) using `npm`
22
-
23
- ```
24
- # Depending on your configuration you may need to be elevated or root to run this. (on OSX/Linux use 'sudo')
25
- npm install -g autorest
26
- ```
27
-
28
- 3. Run the build script
29
-
30
- ```
31
- ./build.sh
32
- ```
33
-
34
- ### AutoRest Configuration
35
-
36
- This project uses [AutoRest](https://github.com/Azure/autorest), below is the configuration that the `autorest` command will automatically pick up.
37
-
38
- > see https://aka.ms/autorest
39
-
40
- ```yaml
41
- input-file: https://mailosaur.com/swagger/latest/swagger.json
42
- ```
43
-
44
- ```yaml
45
- ruby:
46
- output-folder: lib
47
- add-credentials: true
48
- sync-methods: essential
49
- use-internal-constructors: true
50
- override-client-name: MailosaurBaseClient
51
- namespace: Mailosaur
52
- package-name: Mailosaur
53
- package-version: 5.0.2
54
- ```
55
-
56
17
  ## Running tests
57
18
 
58
19
  Once you've cloned this repository locally, you can simply run:
@@ -1,97 +1,16 @@
1
- # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator.
3
- # Changes may cause incorrect behavior and will be lost if the code is
4
- # regenerated.
5
-
6
1
  module Mailosaur
7
- #
8
- # # Introduction
9
- #
10
- # This is an overview of the Mailosaur API. This API a RESTful JSON interface
11
- # with predictable, resource-oriented URLs. We make use of HTTP response
12
- # codes to indicate
13
- # API errors.
14
- #
15
- # We use built-in HTTP features, like HTTP authentication and HTTP verbs,
16
- # which are understood
17
- # by off-the-shelf HTTP clients.
18
- #
19
- # [Official client libraries](/docs/client-libraries/) available for most
20
- # popular languages.
21
- #
22
- # # Authentication
23
- #
24
- # Authenticate your account when using the API by including your API key in
25
- # the request.
26
- # You can [manage your API keys](/app/account/api-access/) in the Mailosaur
27
- # UI. Your API key carrys many privileges,
28
- # so be sure to keep it secret! Do not share your API key in
29
- # publicly-accessible areas such
30
- # GitHub, client-side code, and so on.
31
- #
32
- # All API requests must be made over HTTPS. Calls made over plain HTTP will
33
- # fail.
34
- # API requests without authentication will also fail.
35
- #
36
- # # Errors
37
- #
38
- # ## HTTP status codes
39
- #
40
- # Mailosaur uses conventional HTTP response codes to indicate the success or
41
- # failure of an
42
- # API request. In general, codes in the `2xx` range indicate success, codes
43
- # in the `4xx` range
44
- # indicate an error that failed given the information provided (e.g., a
45
- # required parameter
46
- # was omitted), and codes in the `5xx` range indicate an error with
47
- # Mailosaur's servers (give us a shout in the unlikely event that you see one
48
- # of those).
49
- #
50
- # | Code | Description |
51
- # |---|---|
52
- # | 200 - OK | Request was successful. |
53
- # | 204 - No Content | Request was successful, no response content. |
54
- # | 400 - Bad Request | The request could be handled, often due to missing a
55
- # required parameter. |
56
- # | 401 - Unauthorized | No valid API key provided. |
57
- # | 404 - Not Found | The requested resource doesn't exist. |
58
- # | 5XX - Server Errors | Something went wrong at Mailosaur. (Give us a
59
- # shout). |
60
- #
61
- # ## Error handling
62
- #
63
- # In of an error the server will return as much information as possible. In
64
- # the case of a `401` or
65
- # `404` error the status code gives as much information as you'd need. But
66
- # for `400` errors
67
- # Mailosaur will return a JSON object containing the structure below.
68
- #
69
- # Note that our client libraries convert responses to appropriate
70
- # language-specific objects.
71
- #
72
- # | Property | Description |
73
- # |---|---|
74
- # | `type` | The type of error returned. Can be: api_connection_error,
75
- # api_error, authentication_error, card_error, idempotency_error
76
- # invalid_request_error, or rate_limit_error. |
77
- # | `message` | A human-readable message providing more details about the
78
- # error. |
79
- # | `parameters` | A JSON object containing a key for each property name at
80
- # fault, with a human-readable message per field |
81
- # | `model` | The request model that we sent and failed to be processed |
82
- #
83
2
  class Analysis
84
3
 
85
4
  #
86
5
  # Creates and initializes a new instance of the Analysis class.
87
- # @param client service class for accessing basic functionality.
6
+ # @param conn client connection.
88
7
  #
89
- def initialize(client)
90
- @client = client
8
+ def initialize(conn)
9
+ @conn = conn
91
10
  end
92
11
 
93
- # @return [MailosaurBaseClient] reference to the MailosaurBaseClient
94
- attr_reader :client
12
+ # @return [Connection] the client connection.
13
+ attr_reader :conn
95
14
 
96
15
  #
97
16
  # Perform a spam test
@@ -99,86 +18,20 @@ module Mailosaur
99
18
  # Perform spam testing on the specified email
100
19
  #
101
20
  # @param email The identifier of the email to be analyzed.
102
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
103
- # will be added to the HTTP request.
104
21
  #
105
22
  # @return [SpamAnalysisResult] operation results.
106
23
  #
107
- def spam(email, custom_headers:nil)
108
- response = spam_async(email, custom_headers:custom_headers).value!
109
- response.body unless response.nil?
110
- end
111
-
112
- #
113
- # Perform a spam test
114
- #
115
- # Perform spam testing on the specified email
116
- #
117
- # @param email The identifier of the email to be analyzed.
118
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
119
- # will be added to the HTTP request.
120
- #
121
- # @return [MsRest::HttpOperationResponse] HTTP response information.
122
- #
123
- def spam_with_http_info(email, custom_headers:nil)
124
- spam_async(email, custom_headers:custom_headers).value!
125
- end
126
-
127
- #
128
- # Perform a spam test
129
- #
130
- # Perform spam testing on the specified email
131
- #
132
- # @param email The identifier of the email to be analyzed.
133
- # @param [Hash{String => String}] A hash of custom headers that will be added
134
- # to the HTTP request.
135
- #
136
- # @return [Concurrent::Promise] Promise object which holds the HTTP response.
137
- #
138
- def spam_async(email, custom_headers:nil)
139
- fail ArgumentError, 'email is nil' if email.nil?
140
-
141
-
142
- request_headers = {}
143
- request_headers['Content-Type'] = 'application/json; charset=utf-8'
144
- path_template = 'api/analysis/spam/{email}'
145
-
146
- request_url = @base_url || @client.base_url
147
-
148
- options = {
149
- middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
150
- path_params: {'email' => email},
151
- headers: request_headers.merge(custom_headers || {}),
152
- base_url: request_url
153
- }
154
- promise = @client.make_request_async(:get, path_template, options)
155
-
156
- promise = promise.then do |result|
157
- http_response = result.response
158
- status_code = http_response.status
159
- response_content = http_response.body
160
- unless status_code == 200
161
- error_model = JSON.load(response_content)
162
- mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + status_code.to_s + '\'', error_model)
163
- raise mailosaur_error
164
- end
165
-
166
- # Deserialize Response
167
- if status_code == 200
168
- begin
169
- parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
170
- result_mapper = Mailosaur::Models::SpamAnalysisResult.mapper()
171
- result.body = @client.deserialize(result_mapper, parsed_response)
172
- rescue Exception => e
173
- fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
174
- end
175
- end
176
-
177
- result
24
+ def spam(email)
25
+ response = conn.get 'api/analysis/spam/' + email
26
+
27
+ unless response.status == 200
28
+ error_model = JSON.load(response.body)
29
+ mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
30
+ raise mailosaur_error
178
31
  end
179
32
 
180
- promise.execute
33
+ model = JSON.load(response.body)
34
+ Mailosaur::Models::SpamAnalysisResult.new(model)
181
35
  end
182
-
183
36
  end
184
37
  end
@@ -1,97 +1,16 @@
1
- # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator.
3
- # Changes may cause incorrect behavior and will be lost if the code is
4
- # regenerated.
5
-
6
1
  module Mailosaur
7
- #
8
- # # Introduction
9
- #
10
- # This is an overview of the Mailosaur API. This API a RESTful JSON interface
11
- # with predictable, resource-oriented URLs. We make use of HTTP response
12
- # codes to indicate
13
- # API errors.
14
- #
15
- # We use built-in HTTP features, like HTTP authentication and HTTP verbs,
16
- # which are understood
17
- # by off-the-shelf HTTP clients.
18
- #
19
- # [Official client libraries](/docs/client-libraries/) available for most
20
- # popular languages.
21
- #
22
- # # Authentication
23
- #
24
- # Authenticate your account when using the API by including your API key in
25
- # the request.
26
- # You can [manage your API keys](/app/account/api-access/) in the Mailosaur
27
- # UI. Your API key carrys many privileges,
28
- # so be sure to keep it secret! Do not share your API key in
29
- # publicly-accessible areas such
30
- # GitHub, client-side code, and so on.
31
- #
32
- # All API requests must be made over HTTPS. Calls made over plain HTTP will
33
- # fail.
34
- # API requests without authentication will also fail.
35
- #
36
- # # Errors
37
- #
38
- # ## HTTP status codes
39
- #
40
- # Mailosaur uses conventional HTTP response codes to indicate the success or
41
- # failure of an
42
- # API request. In general, codes in the `2xx` range indicate success, codes
43
- # in the `4xx` range
44
- # indicate an error that failed given the information provided (e.g., a
45
- # required parameter
46
- # was omitted), and codes in the `5xx` range indicate an error with
47
- # Mailosaur's servers (give us a shout in the unlikely event that you see one
48
- # of those).
49
- #
50
- # | Code | Description |
51
- # |---|---|
52
- # | 200 - OK | Request was successful. |
53
- # | 204 - No Content | Request was successful, no response content. |
54
- # | 400 - Bad Request | The request could be handled, often due to missing a
55
- # required parameter. |
56
- # | 401 - Unauthorized | No valid API key provided. |
57
- # | 404 - Not Found | The requested resource doesn't exist. |
58
- # | 5XX - Server Errors | Something went wrong at Mailosaur. (Give us a
59
- # shout). |
60
- #
61
- # ## Error handling
62
- #
63
- # In of an error the server will return as much information as possible. In
64
- # the case of a `401` or
65
- # `404` error the status code gives as much information as you'd need. But
66
- # for `400` errors
67
- # Mailosaur will return a JSON object containing the structure below.
68
- #
69
- # Note that our client libraries convert responses to appropriate
70
- # language-specific objects.
71
- #
72
- # | Property | Description |
73
- # |---|---|
74
- # | `type` | The type of error returned. Can be: api_connection_error,
75
- # api_error, authentication_error, card_error, idempotency_error
76
- # invalid_request_error, or rate_limit_error. |
77
- # | `message` | A human-readable message providing more details about the
78
- # error. |
79
- # | `parameters` | A JSON object containing a key for each property name at
80
- # fault, with a human-readable message per field |
81
- # | `model` | The request model that we sent and failed to be processed |
82
- #
83
2
  class Files
84
3
 
85
4
  #
86
5
  # Creates and initializes a new instance of the Files class.
87
- # @param client service class for accessing basic functionality.
6
+ # @param client connection.
88
7
  #
89
- def initialize(client)
90
- @client = client
8
+ def initialize(conn)
9
+ @conn = conn
91
10
  end
92
11
 
93
- # @return [MailosaurBaseClient] reference to the MailosaurBaseClient
94
- attr_reader :client
12
+ # @return [Connection] the client connection.
13
+ attr_reader :conn
95
14
 
96
15
  #
97
16
  # Download an attachment
@@ -100,94 +19,19 @@ module Mailosaur
100
19
  # required attachment.
101
20
  #
102
21
  # @param id The identifier of the attachment to be downloaded.
103
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
104
- # will be added to the HTTP request.
105
22
  #
106
23
  # @return [NOT_IMPLEMENTED] operation results.
107
24
  #
108
- def get_attachment(id, custom_headers:nil)
109
- response = get_attachment_async(id, custom_headers:custom_headers).value!
110
- response.body unless response.nil?
111
- end
112
-
113
- #
114
- # Download an attachment
115
- #
116
- # Downloads a single attachment. Simply supply the unique identifier for the
117
- # required attachment.
118
- #
119
- # @param id The identifier of the attachment to be downloaded.
120
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
121
- # will be added to the HTTP request.
122
- #
123
- # @return [MsRest::HttpOperationResponse] HTTP response information.
124
- #
125
- def get_attachment_with_http_info(id, custom_headers:nil)
126
- get_attachment_async(id, custom_headers:custom_headers).value!
127
- end
128
-
129
- #
130
- # Download an attachment
131
- #
132
- # Downloads a single attachment. Simply supply the unique identifier for the
133
- # required attachment.
134
- #
135
- # @param id The identifier of the attachment to be downloaded.
136
- # @param [Hash{String => String}] A hash of custom headers that will be added
137
- # to the HTTP request.
138
- #
139
- # @return [Concurrent::Promise] Promise object which holds the HTTP response.
140
- #
141
- def get_attachment_async(id, custom_headers:nil)
142
- fail ArgumentError, 'id is nil' if id.nil?
143
-
144
-
145
- request_headers = {}
146
- request_headers['Content-Type'] = 'application/json; charset=utf-8'
147
- path_template = 'api/files/attachments/{id}'
148
-
149
- request_url = @base_url || @client.base_url
150
-
151
- options = {
152
- middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
153
- path_params: {'id' => id},
154
- headers: request_headers.merge(custom_headers || {}),
155
- base_url: request_url
156
- }
157
- promise = @client.make_request_async(:get, path_template, options)
158
-
159
- promise = promise.then do |result|
160
- http_response = result.response
161
- status_code = http_response.status
162
- response_content = http_response.body
163
- unless status_code == 200
164
- error_model = JSON.load(response_content)
165
- mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + status_code.to_s + '\'', error_model)
166
- raise mailosaur_error
167
- end
168
-
169
- # Deserialize Response
170
- if status_code == 200
171
- begin
172
- parsed_response = response_content
173
- result_mapper = {
174
- client_side_validation: true,
175
- required: false,
176
- serialized_name: 'parsed_response',
177
- type: {
178
- name: 'Stream'
179
- }
180
- }
181
- result.body = @client.deserialize(result_mapper, parsed_response)
182
- rescue Exception => e
183
- fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
184
- end
185
- end
186
-
187
- result
25
+ def get_attachment(id)
26
+ response = conn.get 'api/files/attachments/' + id
27
+
28
+ unless response.status == 200
29
+ error_model = JSON.load(response.body)
30
+ mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
31
+ raise mailosaur_error
188
32
  end
189
33
 
190
- promise.execute
34
+ response.body
191
35
  end
192
36
 
193
37
  #
@@ -197,95 +41,19 @@ module Mailosaur
197
41
  # unique identifier for the required email.
198
42
  #
199
43
  # @param id The identifier of the email to be downloaded.
200
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
201
- # will be added to the HTTP request.
202
44
  #
203
45
  # @return [NOT_IMPLEMENTED] operation results.
204
46
  #
205
- def get_email(id, custom_headers:nil)
206
- response = get_email_async(id, custom_headers:custom_headers).value!
207
- response.body unless response.nil?
208
- end
209
-
210
- #
211
- # Download EML
212
- #
213
- # Downloads an EML file representing the specified email. Simply supply the
214
- # unique identifier for the required email.
215
- #
216
- # @param id The identifier of the email to be downloaded.
217
- # @param custom_headers [Hash{String => String}] A hash of custom headers that
218
- # will be added to the HTTP request.
219
- #
220
- # @return [MsRest::HttpOperationResponse] HTTP response information.
221
- #
222
- def get_email_with_http_info(id, custom_headers:nil)
223
- get_email_async(id, custom_headers:custom_headers).value!
224
- end
225
-
226
- #
227
- # Download EML
228
- #
229
- # Downloads an EML file representing the specified email. Simply supply the
230
- # unique identifier for the required email.
231
- #
232
- # @param id The identifier of the email to be downloaded.
233
- # @param [Hash{String => String}] A hash of custom headers that will be added
234
- # to the HTTP request.
235
- #
236
- # @return [Concurrent::Promise] Promise object which holds the HTTP response.
237
- #
238
- def get_email_async(id, custom_headers:nil)
239
- fail ArgumentError, 'id is nil' if id.nil?
240
-
241
-
242
- request_headers = {}
243
- request_headers['Content-Type'] = 'application/json; charset=utf-8'
244
- path_template = 'api/files/email/{id}'
245
-
246
- request_url = @base_url || @client.base_url
247
-
248
- options = {
249
- middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
250
- path_params: {'id' => id},
251
- headers: request_headers.merge(custom_headers || {}),
252
- base_url: request_url
253
- }
254
- promise = @client.make_request_async(:get, path_template, options)
255
-
256
- promise = promise.then do |result|
257
- http_response = result.response
258
- status_code = http_response.status
259
- response_content = http_response.body
260
- unless status_code == 200
261
- error_model = JSON.load(response_content)
262
- mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + status_code.to_s + '\'', error_model)
263
- raise mailosaur_error
264
- end
265
-
266
- # Deserialize Response
267
- if status_code == 200
268
- begin
269
- parsed_response = response_content
270
- result_mapper = {
271
- client_side_validation: true,
272
- required: false,
273
- serialized_name: 'parsed_response',
274
- type: {
275
- name: 'Stream'
276
- }
277
- }
278
- result.body = @client.deserialize(result_mapper, parsed_response)
279
- rescue Exception => e
280
- fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
281
- end
282
- end
283
-
284
- result
47
+ def get_email(id)
48
+ response = conn.get 'api/files/email/' + id
49
+
50
+ unless response.status == 200
51
+ error_model = JSON.load(response.body)
52
+ mailosaur_error = Mailosaur::MailosaurError.new('Operation returned an invalid status code \'' + response.status.to_s + '\'', error_model)
53
+ raise mailosaur_error
285
54
  end
286
55
 
287
- promise.execute
56
+ response.body
288
57
  end
289
-
290
58
  end
291
59
  end