deepl-rb 2.5.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/add_issues_to_kanban.yml +16 -0
- data/.gitlab-ci.yml +135 -0
- data/.rubocop.yml +27 -0
- data/CHANGELOG.md +34 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/CONTRIBUTING.md +37 -0
- data/Gemfile +3 -1
- data/LICENSE.md +1 -0
- data/README.md +115 -5
- data/Rakefile +7 -5
- data/SECURITY.md +58 -0
- data/VERSION +1 -1
- data/deepl-rb.gemspec +36 -20
- data/lib/deepl/api.rb +11 -1
- data/lib/deepl/configuration.rb +34 -3
- data/lib/deepl/document_api.rb +120 -0
- data/lib/deepl/exceptions/authorization_failed.rb +3 -0
- data/lib/deepl/exceptions/bad_request.rb +3 -0
- data/lib/deepl/exceptions/document_translation_error.rb +15 -0
- data/lib/deepl/exceptions/error.rb +6 -0
- data/lib/deepl/exceptions/limit_exceeded.rb +7 -0
- data/lib/deepl/exceptions/not_found.rb +3 -0
- data/lib/deepl/exceptions/not_supported.rb +3 -0
- data/lib/deepl/exceptions/quota_exceeded.rb +3 -0
- data/lib/deepl/exceptions/request_entity_too_large.rb +3 -0
- data/lib/deepl/exceptions/request_error.rb +4 -2
- data/lib/deepl/exceptions/server_error.rb +18 -0
- data/lib/deepl/glossary_api.rb +3 -0
- data/lib/deepl/requests/base.rb +89 -34
- data/lib/deepl/requests/document/download.rb +44 -0
- data/lib/deepl/requests/document/get_status.rb +44 -0
- data/lib/deepl/requests/document/upload.rb +64 -0
- data/lib/deepl/requests/glossary/create.rb +15 -1
- data/lib/deepl/requests/glossary/destroy.rb +8 -1
- data/lib/deepl/requests/glossary/entries.rb +8 -1
- data/lib/deepl/requests/glossary/find.rb +8 -1
- data/lib/deepl/requests/glossary/language_pairs.rb +9 -2
- data/lib/deepl/requests/glossary/list.rb +9 -2
- data/lib/deepl/requests/languages.rb +9 -2
- data/lib/deepl/requests/translate.rb +33 -11
- data/lib/deepl/requests/usage.rb +9 -2
- data/lib/deepl/resources/base.rb +3 -0
- data/lib/deepl/resources/document_handle.rb +57 -0
- data/lib/deepl/resources/document_translation_status.rb +54 -0
- data/lib/deepl/resources/glossary.rb +3 -0
- data/lib/deepl/resources/language.rb +3 -0
- data/lib/deepl/resources/language_pair.rb +3 -0
- data/lib/deepl/resources/text.rb +3 -0
- data/lib/deepl/resources/usage.rb +3 -0
- data/lib/deepl/utils/backoff_timer.rb +46 -0
- data/lib/deepl/utils/exception_builder.rb +18 -13
- data/lib/deepl.rb +47 -0
- data/lib/http_client_options.rb +22 -0
- data/license_checker.sh +8 -0
- data/spec/api/api_spec.rb +8 -4
- data/spec/api/configuration_spec.rb +92 -18
- data/spec/api/deepl_spec.rb +225 -86
- data/spec/fixtures/vcr_cassettes/deepl_document.yml +95 -0
- data/spec/fixtures/vcr_cassettes/deepl_document_download.yml +1214 -0
- data/spec/fixtures/vcr_cassettes/deepl_glossaries.yml +812 -23
- data/spec/fixtures/vcr_cassettes/deepl_languages.yml +28 -17
- data/spec/fixtures/vcr_cassettes/deepl_translate.yml +161 -53
- data/spec/fixtures/vcr_cassettes/deepl_usage.yml +93 -3
- data/spec/fixtures/vcr_cassettes/glossaries.yml +1237 -15
- data/spec/fixtures/vcr_cassettes/languages.yml +159 -44
- data/spec/fixtures/vcr_cassettes/translate_texts.yml +9742 -12
- data/spec/fixtures/vcr_cassettes/usage.yml +134 -2
- data/spec/integration_tests/document_api_spec.rb +143 -0
- data/spec/integration_tests/integration_test_utils.rb +170 -0
- data/spec/requests/glossary/create_spec.rb +23 -13
- data/spec/requests/glossary/destroy_spec.rb +33 -17
- data/spec/requests/glossary/entries_spec.rb +31 -17
- data/spec/requests/glossary/find_spec.rb +31 -17
- data/spec/requests/glossary/language_pairs_spec.rb +17 -7
- data/spec/requests/glossary/list_spec.rb +21 -11
- data/spec/requests/languages_spec.rb +31 -21
- data/spec/requests/translate_spec.rb +125 -131
- data/spec/requests/usage_spec.rb +17 -7
- data/spec/resources/glossary_spec.rb +15 -12
- data/spec/resources/language_pair_spec.rb +10 -7
- data/spec/resources/language_spec.rb +21 -18
- data/spec/resources/text_spec.rb +10 -7
- data/spec/resources/usage_spec.rb +16 -13
- data/spec/spec_helper.rb +63 -6
- metadata +32 -9
@@ -2,42 +2,53 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api
|
5
|
+
uri: https://api.deepl.com/v2/languages
|
6
6
|
body:
|
7
|
-
encoding:
|
8
|
-
string: ''
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"type":"target"}'
|
9
9
|
headers:
|
10
10
|
Authorization:
|
11
11
|
- DeepL-Auth-Key VALID_TOKEN
|
12
|
+
User-Agent:
|
13
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
12
16
|
Accept-Encoding:
|
13
17
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
18
|
Accept:
|
15
19
|
- "*/*"
|
16
|
-
User-Agent:
|
17
|
-
- Ruby
|
18
20
|
response:
|
19
21
|
status:
|
20
22
|
code: 200
|
21
23
|
message: OK
|
22
24
|
headers:
|
23
|
-
Server:
|
24
|
-
- nginx
|
25
25
|
Date:
|
26
|
-
- Mon,
|
26
|
+
- Mon, 08 Jul 2024 11:28:09 GMT
|
27
27
|
Content-Type:
|
28
28
|
- application/json
|
29
|
-
|
30
|
-
-
|
31
|
-
|
32
|
-
-
|
29
|
+
Transfer-Encoding:
|
30
|
+
- chunked
|
31
|
+
Vary:
|
32
|
+
- Accept-Encoding
|
33
33
|
Access-Control-Allow-Origin:
|
34
34
|
- "*"
|
35
|
+
X-Cache-Status:
|
36
|
+
- MISS
|
37
|
+
Strict-Transport-Security:
|
38
|
+
- max-age=63072000; includeSubDomains; preload
|
39
|
+
Server-Timing:
|
40
|
+
- l7_lb_tls;dur=99, l7_lb_idle;dur=1, l7_lb_receive;dur=0, l7_lb_total;dur=142
|
41
|
+
Access-Control-Expose-Headers:
|
42
|
+
- Server-Timing, X-Trace-ID
|
43
|
+
X-Trace-Id:
|
44
|
+
- 245e59cedea848ef8c7ccb7d15a71aea
|
35
45
|
body:
|
36
|
-
encoding:
|
46
|
+
encoding: ASCII-8BIT
|
37
47
|
string: '[{"language":"BG","name":"Bulgarian","supports_formality":false},{"language":"CS","name":"Czech","supports_formality":false},{"language":"DA","name":"Danish","supports_formality":false},{"language":"DE","name":"German","supports_formality":true},{"language":"EL","name":"Greek","supports_formality":false},{"language":"EN-GB","name":"English
|
38
48
|
(British)","supports_formality":false},{"language":"EN-US","name":"English
|
39
|
-
(American)","supports_formality":false},{"language":"ES","name":"Spanish","supports_formality":true},{"language":"ET","name":"Estonian","supports_formality":false},{"language":"FI","name":"Finnish","supports_formality":false},{"language":"FR","name":"French","supports_formality":true},{"language":"HU","name":"Hungarian","supports_formality":false},{"language":"IT","name":"Italian","supports_formality":true},{"language":"JA","name":"Japanese","supports_formality":false},{"language":"LT","name":"Lithuanian","supports_formality":false},{"language":"LV","name":"Latvian","supports_formality":false},{"language":"NL","name":"Dutch","supports_formality":true},{"language":"PL","name":"Polish","supports_formality":true},{"language":"PT-BR","name":"Portuguese
|
49
|
+
(American)","supports_formality":false},{"language":"ES","name":"Spanish","supports_formality":true},{"language":"ET","name":"Estonian","supports_formality":false},{"language":"FI","name":"Finnish","supports_formality":false},{"language":"FR","name":"French","supports_formality":true},{"language":"HU","name":"Hungarian","supports_formality":false},{"language":"ID","name":"Indonesian","supports_formality":false},{"language":"IT","name":"Italian","supports_formality":true},{"language":"JA","name":"Japanese","supports_formality":true},{"language":"KO","name":"Korean","supports_formality":false},{"language":"LT","name":"Lithuanian","supports_formality":false},{"language":"LV","name":"Latvian","supports_formality":false},{"language":"NB","name":"Norwegian","supports_formality":false},{"language":"NL","name":"Dutch","supports_formality":true},{"language":"PL","name":"Polish","supports_formality":true},{"language":"PT-BR","name":"Portuguese
|
40
50
|
(Brazilian)","supports_formality":true},{"language":"PT-PT","name":"Portuguese
|
41
|
-
(European)","supports_formality":true},{"language":"RO","name":"Romanian","supports_formality":false},{"language":"RU","name":"Russian","supports_formality":true},{"language":"SK","name":"Slovak","supports_formality":false},{"language":"SL","name":"Slovenian","supports_formality":false},{"language":"SV","name":"Swedish","supports_formality":false},{"language":"
|
42
|
-
|
43
|
-
|
51
|
+
(European)","supports_formality":true},{"language":"RO","name":"Romanian","supports_formality":false},{"language":"RU","name":"Russian","supports_formality":true},{"language":"SK","name":"Slovak","supports_formality":false},{"language":"SL","name":"Slovenian","supports_formality":false},{"language":"SV","name":"Swedish","supports_formality":false},{"language":"TR","name":"Turkish","supports_formality":false},{"language":"UK","name":"Ukrainian","supports_formality":false},{"language":"ZH","name":"Chinese
|
52
|
+
(simplified)","supports_formality":false}]'
|
53
|
+
recorded_at: Mon, 08 Jul 2024 11:28:09 GMT
|
54
|
+
recorded_with: VCR 6.2.0
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
-
|
17
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
18
18
|
Content-Type:
|
19
19
|
- application/x-www-form-urlencoded
|
20
20
|
response:
|
@@ -52,7 +52,7 @@ http_interactions:
|
|
52
52
|
Accept:
|
53
53
|
- "*/*"
|
54
54
|
User-Agent:
|
55
|
-
-
|
55
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
56
56
|
Content-Type:
|
57
57
|
- application/x-www-form-urlencoded
|
58
58
|
response:
|
@@ -88,7 +88,7 @@ http_interactions:
|
|
88
88
|
Accept:
|
89
89
|
- "*/*"
|
90
90
|
User-Agent:
|
91
|
-
-
|
91
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
92
92
|
Content-Type:
|
93
93
|
- application/x-www-form-urlencoded
|
94
94
|
response:
|
@@ -113,11 +113,11 @@ http_interactions:
|
|
113
113
|
string: '{"translations":[{"detected_source_language":"EN","text":"Hola Tierra"}]}'
|
114
114
|
recorded_at: Mon, 24 Jan 2022 23:22:47 GMT
|
115
115
|
- request:
|
116
|
-
method:
|
117
|
-
uri: https://api
|
116
|
+
method: post
|
117
|
+
uri: https://api.deepl.com/v2/translate?param=fake
|
118
118
|
body:
|
119
119
|
encoding: US-ASCII
|
120
|
-
string:
|
120
|
+
string: text=Sample&source_lang=EN&target_lang=ES
|
121
121
|
headers:
|
122
122
|
Authorization:
|
123
123
|
- DeepL-Auth-Key VALID_TOKEN
|
@@ -126,125 +126,233 @@ http_interactions:
|
|
126
126
|
Accept:
|
127
127
|
- "*/*"
|
128
128
|
User-Agent:
|
129
|
-
-
|
129
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
130
|
+
Content-Type:
|
131
|
+
- application/x-www-form-urlencoded
|
130
132
|
response:
|
131
133
|
status:
|
132
|
-
code:
|
133
|
-
message:
|
134
|
+
code: 200
|
135
|
+
message: OK
|
134
136
|
headers:
|
135
137
|
Server:
|
136
138
|
- nginx
|
137
139
|
Date:
|
138
|
-
-
|
139
|
-
|
140
|
-
-
|
140
|
+
- Wed, 01 Feb 2023 14:39:00 GMT
|
141
|
+
Content-Type:
|
142
|
+
- application/json
|
143
|
+
Transfer-Encoding:
|
144
|
+
- chunked
|
145
|
+
Access-Control-Allow-Origin:
|
146
|
+
- "*"
|
147
|
+
Strict-Transport-Security:
|
148
|
+
- max-age=63072000; includeSubDomains; preload
|
149
|
+
body:
|
150
|
+
encoding: ASCII-8BIT
|
151
|
+
string: '{"translations":[{"detected_source_language":"EN","text":"Muestra"}]}'
|
152
|
+
recorded_at: Wed, 01 Feb 2023 14:39:00 GMT
|
153
|
+
- request:
|
154
|
+
method: post
|
155
|
+
uri: https://api.deepl.com/v2/translate
|
156
|
+
body:
|
157
|
+
encoding: UTF-8
|
158
|
+
string: '{"text":"Sample","source_lang":"EN","target_lang":"ES","param":"fake"}'
|
159
|
+
headers:
|
160
|
+
Authorization:
|
161
|
+
- DeepL-Auth-Key VALID_TOKEN
|
162
|
+
User-Agent:
|
163
|
+
- deepl-ruby/2.5.3(darwin23) ruby/3.3.3
|
164
|
+
Content-Type:
|
165
|
+
- application/json
|
166
|
+
Accept-Encoding:
|
167
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
168
|
+
Accept:
|
169
|
+
- "*/*"
|
170
|
+
response:
|
171
|
+
status:
|
172
|
+
code: 403
|
173
|
+
message: Forbidden
|
174
|
+
headers:
|
175
|
+
Date:
|
176
|
+
- Tue, 02 Jul 2024 13:44:23 GMT
|
177
|
+
Transfer-Encoding:
|
178
|
+
- chunked
|
179
|
+
Access-Control-Allow-Origin:
|
180
|
+
- "*"
|
181
|
+
Strict-Transport-Security:
|
182
|
+
- max-age=63072000; includeSubDomains; preload
|
183
|
+
Server-Timing:
|
184
|
+
- l7_lb_tls;dur=101, l7_lb_idle;dur=1, l7_lb_receive;dur=0, l7_lb_total;dur=107
|
185
|
+
Access-Control-Expose-Headers:
|
186
|
+
- Server-Timing, X-Trace-ID
|
187
|
+
X-Trace-Id:
|
188
|
+
- d76fa5ee2e5643368519529f5de9d4ea
|
141
189
|
body:
|
142
190
|
encoding: UTF-8
|
143
191
|
string: ''
|
144
|
-
recorded_at:
|
192
|
+
recorded_at: Tue, 02 Jul 2024 13:44:23 GMT
|
145
193
|
- request:
|
146
194
|
method: post
|
147
|
-
uri: https://api
|
195
|
+
uri: https://api.deepl.com/v2/translate
|
148
196
|
body:
|
149
|
-
encoding:
|
150
|
-
string:
|
197
|
+
encoding: UTF-8
|
198
|
+
string: '{"text":["Sample"],"source_lang":"EN","target_lang":"ES","param":"fake"}'
|
151
199
|
headers:
|
152
200
|
Authorization:
|
153
201
|
- DeepL-Auth-Key VALID_TOKEN
|
202
|
+
User-Agent:
|
203
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
204
|
+
Content-Type:
|
205
|
+
- application/json
|
154
206
|
Accept-Encoding:
|
155
207
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
156
208
|
Accept:
|
157
209
|
- "*/*"
|
210
|
+
response:
|
211
|
+
status:
|
212
|
+
code: 200
|
213
|
+
message: OK
|
214
|
+
headers:
|
215
|
+
Date:
|
216
|
+
- Tue, 02 Jul 2024 16:02:26 GMT
|
217
|
+
Content-Type:
|
218
|
+
- application/json
|
219
|
+
Transfer-Encoding:
|
220
|
+
- chunked
|
221
|
+
Vary:
|
222
|
+
- Accept-Encoding
|
223
|
+
Access-Control-Allow-Origin:
|
224
|
+
- "*"
|
225
|
+
Strict-Transport-Security:
|
226
|
+
- max-age=63072000; includeSubDomains; preload
|
227
|
+
Server-Timing:
|
228
|
+
- l7_lb_tls;dur=111, l7_lb_idle;dur=2, l7_lb_receive;dur=0, l7_lb_total;dur=164
|
229
|
+
Access-Control-Expose-Headers:
|
230
|
+
- Server-Timing, X-Trace-ID
|
231
|
+
X-Trace-Id:
|
232
|
+
- 7085263a2c734f6bbc0ef2a3248d11a2
|
233
|
+
body:
|
234
|
+
encoding: ASCII-8BIT
|
235
|
+
string: '{"translations":[{"detected_source_language":"EN","text":"Muestra"}]}'
|
236
|
+
recorded_at: Tue, 02 Jul 2024 16:02:26 GMT
|
237
|
+
- request:
|
238
|
+
method: post
|
239
|
+
uri: https://api.deepl.com/v2/glossaries
|
240
|
+
body:
|
241
|
+
encoding: UTF-8
|
242
|
+
string: '{"name":"fixture","source_lang":"EN","target_lang":"ES","entries":"car\tauto\n","entries_format":"tsv"}'
|
243
|
+
headers:
|
244
|
+
Authorization:
|
245
|
+
- DeepL-Auth-Key VALID_TOKEN
|
158
246
|
User-Agent:
|
159
|
-
-
|
247
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
160
248
|
Content-Type:
|
161
|
-
- application/
|
249
|
+
- application/json
|
250
|
+
Accept-Encoding:
|
251
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
252
|
+
Accept:
|
253
|
+
- "*/*"
|
162
254
|
response:
|
163
255
|
status:
|
164
256
|
code: 201
|
165
257
|
message: Created
|
166
258
|
headers:
|
167
|
-
Server:
|
168
|
-
- nginx
|
169
259
|
Date:
|
170
|
-
- Tue,
|
260
|
+
- Tue, 09 Jul 2024 01:50:11 GMT
|
171
261
|
Content-Type:
|
172
262
|
- application/json; charset=utf-8
|
173
263
|
Transfer-Encoding:
|
174
264
|
- chunked
|
175
|
-
|
176
|
-
-
|
265
|
+
X-Trace-Id:
|
266
|
+
- 12c5d435de7a492b93f26cd05a8c6b2d
|
267
|
+
Strict-Transport-Security:
|
268
|
+
- max-age=63072000; includeSubDomains; preload
|
269
|
+
Server-Timing:
|
270
|
+
- l7_lb_tls;dur=105, l7_lb_idle;dur=5, l7_lb_receive;dur=0, l7_lb_total;dur=128
|
271
|
+
Access-Control-Expose-Headers:
|
272
|
+
- Server-Timing, X-Trace-ID
|
177
273
|
body:
|
178
274
|
encoding: UTF-8
|
179
|
-
string: '{"glossary_id":"
|
180
|
-
recorded_at: Tue,
|
275
|
+
string: '{"glossary_id":"b5972112-b74d-447f-92ff-888db3df7e5d","name":"fixture","ready":true,"source_lang":"en","target_lang":"es","creation_time":"2024-07-09T01:50:11.109588Z","entry_count":1}'
|
276
|
+
recorded_at: Tue, 09 Jul 2024 01:50:11 GMT
|
181
277
|
- request:
|
182
278
|
method: post
|
183
|
-
uri: https://api
|
279
|
+
uri: https://api.deepl.com/v2/translate
|
184
280
|
body:
|
185
|
-
encoding:
|
186
|
-
string: text
|
281
|
+
encoding: UTF-8
|
282
|
+
string: '{"text":["I wish we had a car."],"source_lang":"EN","target_lang":"ES","glossary_id":"b5972112-b74d-447f-92ff-888db3df7e5d"}'
|
187
283
|
headers:
|
188
284
|
Authorization:
|
189
285
|
- DeepL-Auth-Key VALID_TOKEN
|
286
|
+
User-Agent:
|
287
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
288
|
+
Content-Type:
|
289
|
+
- application/json
|
190
290
|
Accept-Encoding:
|
191
291
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
192
292
|
Accept:
|
193
293
|
- "*/*"
|
194
|
-
User-Agent:
|
195
|
-
- Ruby
|
196
|
-
Content-Type:
|
197
|
-
- application/x-www-form-urlencoded
|
198
294
|
response:
|
199
295
|
status:
|
200
296
|
code: 200
|
201
297
|
message: OK
|
202
298
|
headers:
|
203
|
-
Server:
|
204
|
-
- nginx
|
205
299
|
Date:
|
206
|
-
- Tue,
|
300
|
+
- Tue, 09 Jul 2024 01:50:11 GMT
|
207
301
|
Content-Type:
|
208
302
|
- application/json
|
209
|
-
|
210
|
-
-
|
211
|
-
|
212
|
-
-
|
303
|
+
Transfer-Encoding:
|
304
|
+
- chunked
|
305
|
+
Vary:
|
306
|
+
- Accept-Encoding
|
213
307
|
Access-Control-Allow-Origin:
|
214
308
|
- "*"
|
309
|
+
Strict-Transport-Security:
|
310
|
+
- max-age=63072000; includeSubDomains; preload
|
311
|
+
Server-Timing:
|
312
|
+
- l7_lb_tls;dur=278, l7_lb_idle;dur=2, l7_lb_receive;dur=0, l7_lb_total;dur=355
|
313
|
+
Access-Control-Expose-Headers:
|
314
|
+
- Server-Timing, X-Trace-ID
|
315
|
+
X-Trace-Id:
|
316
|
+
- ab9c20ae972946cf9e001a0e7b0aa7dc
|
215
317
|
body:
|
216
318
|
encoding: ASCII-8BIT
|
217
319
|
string: !binary |-
|
218
|
-
|
219
|
-
recorded_at: Tue,
|
320
|
+
eyJ0cmFuc2xhdGlvbnMiOlt7ImRldGVjdGVkX3NvdXJjZV9sYW5ndWFnZSI6IkVOIiwidGV4dCI6Ik9qYWzDoSB0dXZpw6lyYW1vcyBhdXRvLiJ9XX0=
|
321
|
+
recorded_at: Tue, 09 Jul 2024 01:50:11 GMT
|
220
322
|
- request:
|
221
323
|
method: delete
|
222
|
-
uri: https://api
|
324
|
+
uri: https://api.deepl.com/v2/glossaries/b5972112-b74d-447f-92ff-888db3df7e5d
|
223
325
|
body:
|
224
|
-
encoding:
|
225
|
-
string:
|
326
|
+
encoding: UTF-8
|
327
|
+
string: "{}"
|
226
328
|
headers:
|
227
329
|
Authorization:
|
228
330
|
- DeepL-Auth-Key VALID_TOKEN
|
331
|
+
User-Agent:
|
332
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
333
|
+
Content-Type:
|
334
|
+
- application/json
|
229
335
|
Accept-Encoding:
|
230
336
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
231
337
|
Accept:
|
232
338
|
- "*/*"
|
233
|
-
User-Agent:
|
234
|
-
- Ruby
|
235
339
|
response:
|
236
340
|
status:
|
237
341
|
code: 204
|
238
342
|
message: No Content
|
239
343
|
headers:
|
240
|
-
Server:
|
241
|
-
- nginx
|
242
344
|
Date:
|
243
|
-
- Tue,
|
244
|
-
|
245
|
-
-
|
345
|
+
- Tue, 09 Jul 2024 01:50:12 GMT
|
346
|
+
X-Trace-Id:
|
347
|
+
- 4b145ebec675432e98119ac4449f764f
|
348
|
+
Strict-Transport-Security:
|
349
|
+
- max-age=63072000; includeSubDomains; preload
|
350
|
+
Server-Timing:
|
351
|
+
- l7_lb_tls;dur=151, l7_lb_idle;dur=2, l7_lb_receive;dur=0, l7_lb_total;dur=1007
|
352
|
+
Access-Control-Expose-Headers:
|
353
|
+
- Server-Timing, X-Trace-ID
|
246
354
|
body:
|
247
355
|
encoding: UTF-8
|
248
356
|
string: ''
|
249
|
-
recorded_at: Tue,
|
250
|
-
recorded_with: VCR 6.
|
357
|
+
recorded_at: Tue, 09 Jul 2024 01:50:12 GMT
|
358
|
+
recorded_with: VCR 6.2.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api
|
5
|
+
uri: https://api.deepl.com/v2/usage
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -14,7 +14,7 @@ http_interactions:
|
|
14
14
|
Accept:
|
15
15
|
- "*/*"
|
16
16
|
User-Agent:
|
17
|
-
-
|
17
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
18
18
|
response:
|
19
19
|
status:
|
20
20
|
code: 200
|
@@ -36,4 +36,94 @@ http_interactions:
|
|
36
36
|
encoding: UTF-8
|
37
37
|
string: '{"character_count":303,"character_limit":500000}'
|
38
38
|
recorded_at: Mon, 17 May 2021 14:18:28 GMT
|
39
|
-
|
39
|
+
- request:
|
40
|
+
method: get
|
41
|
+
uri: https://api.deepl.com/v2/usage
|
42
|
+
body:
|
43
|
+
encoding: US-ASCII
|
44
|
+
string: ''
|
45
|
+
headers:
|
46
|
+
Authorization:
|
47
|
+
- DeepL-Auth-Key VALID_TOKEN
|
48
|
+
User-Agent:
|
49
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
50
|
+
Accept-Encoding:
|
51
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
52
|
+
Accept:
|
53
|
+
- "*/*"
|
54
|
+
response:
|
55
|
+
status:
|
56
|
+
code: 200
|
57
|
+
message: OK
|
58
|
+
headers:
|
59
|
+
Date:
|
60
|
+
- Tue, 02 Jul 2024 15:04:44 GMT
|
61
|
+
Content-Type:
|
62
|
+
- application/json
|
63
|
+
Transfer-Encoding:
|
64
|
+
- chunked
|
65
|
+
Vary:
|
66
|
+
- Accept-Encoding
|
67
|
+
Access-Control-Allow-Origin:
|
68
|
+
- "*"
|
69
|
+
X-Cache-Status:
|
70
|
+
- MISS
|
71
|
+
Strict-Transport-Security:
|
72
|
+
- max-age=63072000; includeSubDomains; preload
|
73
|
+
Server-Timing:
|
74
|
+
- l7_lb_tls;dur=105, l7_lb_idle;dur=1, l7_lb_receive;dur=0, l7_lb_total;dur=140
|
75
|
+
Access-Control-Expose-Headers:
|
76
|
+
- Server-Timing, X-Trace-ID
|
77
|
+
X-Trace-Id:
|
78
|
+
- abe01bcc8c834ec6a2837d30f9bcf1b2
|
79
|
+
body:
|
80
|
+
encoding: ASCII-8BIT
|
81
|
+
string: '{"character_count":18593,"character_limit":1000000000000}'
|
82
|
+
recorded_at: Tue, 02 Jul 2024 15:04:44 GMT
|
83
|
+
- request:
|
84
|
+
method: get
|
85
|
+
uri: https://api.deepl.com/v2/usage
|
86
|
+
body:
|
87
|
+
encoding: UTF-8
|
88
|
+
string: "{}"
|
89
|
+
headers:
|
90
|
+
Authorization:
|
91
|
+
- DeepL-Auth-Key VALID_TOKEN
|
92
|
+
User-Agent:
|
93
|
+
- deepl-ruby/2.5.3 (darwin23) ruby/3.3.3
|
94
|
+
Content-Type:
|
95
|
+
- application/json
|
96
|
+
Accept-Encoding:
|
97
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
98
|
+
Accept:
|
99
|
+
- "*/*"
|
100
|
+
response:
|
101
|
+
status:
|
102
|
+
code: 200
|
103
|
+
message: OK
|
104
|
+
headers:
|
105
|
+
Date:
|
106
|
+
- Tue, 09 Jul 2024 01:47:02 GMT
|
107
|
+
Content-Type:
|
108
|
+
- application/json
|
109
|
+
Transfer-Encoding:
|
110
|
+
- chunked
|
111
|
+
Vary:
|
112
|
+
- Accept-Encoding
|
113
|
+
Access-Control-Allow-Origin:
|
114
|
+
- "*"
|
115
|
+
X-Cache-Status:
|
116
|
+
- MISS
|
117
|
+
Strict-Transport-Security:
|
118
|
+
- max-age=63072000; includeSubDomains; preload
|
119
|
+
Server-Timing:
|
120
|
+
- l7_lb_tls;dur=166, l7_lb_idle;dur=1, l7_lb_receive;dur=0, l7_lb_total;dur=170
|
121
|
+
Access-Control-Expose-Headers:
|
122
|
+
- Server-Timing, X-Trace-ID
|
123
|
+
X-Trace-Id:
|
124
|
+
- f0901812e3b74562b460fc95cec5d92e
|
125
|
+
body:
|
126
|
+
encoding: ASCII-8BIT
|
127
|
+
string: '{"character_count":69350,"character_limit":1000000000000}'
|
128
|
+
recorded_at: Tue, 09 Jul 2024 01:47:02 GMT
|
129
|
+
recorded_with: VCR 6.2.0
|