iobroker.parcel 0.2.8 → 0.3.0
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.
- package/README.md +10 -0
- package/admin/copyurl.png +0 -0
- package/admin/index_m.html +74 -14
- package/io-package.json +50 -30
- package/lib/dhlLogin.js +70 -0
- package/lib/tools.js +3 -3
- package/main.js +401 -599
- package/package.json +23 -21
package/README.md
CHANGED
|
@@ -62,6 +62,16 @@ Den Datenpunkt parcel.0.dhl.briefe....image ein "String img src" element als Obj
|
|
|
62
62
|
<https://forum.iobroker.net/topic/51795/test-adapter-parcel-paketverfolgung-dhl-v0-0-1>
|
|
63
63
|
|
|
64
64
|
## Changelog
|
|
65
|
+
### 0.3.0 (2026-04-05)
|
|
66
|
+
|
|
67
|
+
- DHL: Neuer Login über Browser-Code (dhllogin://)
|
|
68
|
+
- Amazon: Login Fix und Captcha-Erkennung mit Hinweis
|
|
69
|
+
|
|
70
|
+
### 0.2.10 (2025-01-15)
|
|
71
|
+
|
|
72
|
+
- add alternative way for dhl login
|
|
73
|
+
- move dhl connections error to info level
|
|
74
|
+
|
|
65
75
|
### 0.2.8 (2024-10-18)
|
|
66
76
|
|
|
67
77
|
- fix amazon login
|
|
Binary file
|
package/admin/index_m.html
CHANGED
|
@@ -99,27 +99,44 @@
|
|
|
99
99
|
|
|
100
100
|
<div class="row">
|
|
101
101
|
<div class="col"><h5>DHL</h5></div>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<input type="text" class="value" id="dhlusername" />
|
|
106
|
-
<label for="dhlusername" class="translate">App Email</label>
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
<div class="row">
|
|
110
|
-
<div class="col s6 input-field">
|
|
111
|
-
<input type="password" class="value" id="dhlpassword" />
|
|
112
|
-
<label for="dhlpassword" class="translate">App Password</label>
|
|
102
|
+
<div class="col">
|
|
103
|
+
<input type="checkbox" class="value" id="dhlActive" />
|
|
104
|
+
<label for="dhlActive" class="translate">Aktiviert</label>
|
|
113
105
|
</div>
|
|
114
106
|
</div>
|
|
115
107
|
<div class="row">
|
|
116
|
-
<div class="col s6 input-field">
|
|
117
|
-
|
|
118
|
-
<
|
|
108
|
+
<div class="col s6 input-field" id="captchaResponse">
|
|
109
|
+
Login über Browser-Code:
|
|
110
|
+
<p></p>
|
|
111
|
+
1. Unten auf den Link klicken und im CHROME Browser einloggen
|
|
112
|
+
<p></p>
|
|
113
|
+
2. Developer Console öffnen: F12 oder Option + Command + I
|
|
114
|
+
<p></p>
|
|
115
|
+
3. Im Console-Tab die fehlgeschlagene Weiterleitung sehen und die dhllogin:// URL kopieren
|
|
116
|
+
<p></p>
|
|
117
|
+
<img src="copyurl.png" style="width: 30rem" />
|
|
118
|
+
<p></p>
|
|
119
|
+
4. Die URL unten einfügen und speichern
|
|
120
|
+
|
|
121
|
+
<p></p>
|
|
122
|
+
<p></p>
|
|
123
|
+
<a
|
|
124
|
+
href="https://login.dhl.de/af5f9bb6-27ad-4af4-9445-008e7a5cddb8/login/authorize?redirect_uri=dhllogin://de.deutschepost.dhl/login&state=eyJycyI6dHJ1ZSwicnYiOmZhbHNlLCJmaWQiOiJhcHAtbG9naW4tbWVoci1mb290ZXIiLCJoaWQiOiJhcHAtbG9naW4tbWVoci1oZWFkZXIiLCJycCI6ZmFsc2V9&client_id=83471082-5c13-4fce-8dcb-19d2a3fca413&response_type=code&scope=openid%20offline_access&claims=%7B%22id_token%22:%7B%22email%22:null,%22post_number%22:null,%22twofa%22:null,%22service_mask%22:null,%22deactivate_account%22:null,%22last_login%22:null,%22customer_type%22:null,%22display_name%22:null,%22data_confirmation_required%22:null%7D%7D&nonce=&login_hint=&prompt=login&ui_locales=de-DE&code_challenge=MAhrhXXZP-Owy-R7ruyB7Fn-Z8ODW6qxCoHg4uXELCw&code_challenge_method=S256"
|
|
125
|
+
target="_blank"
|
|
126
|
+
style="color: red !important"
|
|
127
|
+
>DHL Login URL HIER KLICKEN</a
|
|
128
|
+
>
|
|
129
|
+
<p></p>
|
|
130
|
+
<input type="text" class="value" id="dhlCode" placeholder="dhllogin://de.deutschepost.dhl/login?code=Jqbzy3wbJ..." />
|
|
131
|
+
<label for="dhlCode" class="translate">dhllogin Url</label>
|
|
119
132
|
</div>
|
|
120
133
|
</div>
|
|
121
134
|
<div class="row">
|
|
122
135
|
<div class="col"><h5>Amazon</h5></div>
|
|
136
|
+
<div class="col">
|
|
137
|
+
<input type="checkbox" class="value" id="amzActive" />
|
|
138
|
+
<label for="amzActive" class="translate">Aktiviert</label>
|
|
139
|
+
</div>
|
|
123
140
|
</div>
|
|
124
141
|
<div class="row">
|
|
125
142
|
<div class="col s6 input-field">
|
|
@@ -140,8 +157,32 @@
|
|
|
140
157
|
<label for="amzotp" class="translate">Amazon OTP Token vor dem Login eingeben. 2FA Aktivierung ist Empfohlen.</label>
|
|
141
158
|
</div>
|
|
142
159
|
</div>
|
|
160
|
+
<div class="row">
|
|
161
|
+
<div class="col s6">
|
|
162
|
+
<div>
|
|
163
|
+
<input type="checkbox" class="value" id="amzResetCookies" />
|
|
164
|
+
<label for="amzResetCookies" class="translate">Amazon Cookies beim nächsten Start löschen (bei Login-Problemen)</label>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="row">
|
|
169
|
+
<div class="col s6 input-field">
|
|
170
|
+
Um den Login zu erleichtern oder Captchas zu verhindern, einmal im Browser abmelden und mit Passwort einloggen:
|
|
171
|
+
<p></p>
|
|
172
|
+
<a
|
|
173
|
+
href="https://www.amazon.de/ap/signin?_encoding=UTF8&openid.assoc_handle=deflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.return_to=https%3A%2F%2Fwww.amazon.de&switch_account=signin&ignoreAuthState=1&disableLoginPrepopulate=1"
|
|
174
|
+
target="_blank"
|
|
175
|
+
style="color: red !important"
|
|
176
|
+
>Amazon Login CLICK HERE</a
|
|
177
|
+
>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
143
180
|
<div class="row">
|
|
144
181
|
<div class="col"><h5>DPD</h5></div>
|
|
182
|
+
<div class="col">
|
|
183
|
+
<input type="checkbox" class="value" id="dpdActive" />
|
|
184
|
+
<label for="dpdActive" class="translate">Aktiviert</label>
|
|
185
|
+
</div>
|
|
145
186
|
</div>
|
|
146
187
|
<div class="row">
|
|
147
188
|
<div class="col s6 input-field">
|
|
@@ -157,6 +198,10 @@
|
|
|
157
198
|
</div>
|
|
158
199
|
<div class="row">
|
|
159
200
|
<div class="col"><h5>GLS</h5></div>
|
|
201
|
+
<div class="col">
|
|
202
|
+
<input type="checkbox" class="value" id="glsActive" />
|
|
203
|
+
<label for="glsActive" class="translate">Aktiviert</label>
|
|
204
|
+
</div>
|
|
160
205
|
</div>
|
|
161
206
|
<div class="row">
|
|
162
207
|
<div class="col s6 input-field">
|
|
@@ -172,6 +217,10 @@
|
|
|
172
217
|
</div>
|
|
173
218
|
<div class="row">
|
|
174
219
|
<div class="col"><h5>Hermes</h5></div>
|
|
220
|
+
<div class="col">
|
|
221
|
+
<input type="checkbox" class="value" id="hermesActive" />
|
|
222
|
+
<label for="hermesActive" class="translate">Aktiviert</label>
|
|
223
|
+
</div>
|
|
175
224
|
</div>
|
|
176
225
|
<div class="row">
|
|
177
226
|
<div class="col s6 input-field">
|
|
@@ -187,6 +236,10 @@
|
|
|
187
236
|
</div>
|
|
188
237
|
<div class="row">
|
|
189
238
|
<div class="col"><h5>UPS</h5></div>
|
|
239
|
+
<div class="col">
|
|
240
|
+
<input type="checkbox" class="value" id="upsActive" />
|
|
241
|
+
<label for="upsActive" class="translate">Aktiviert</label>
|
|
242
|
+
</div>
|
|
190
243
|
</div>
|
|
191
244
|
<div class="row">
|
|
192
245
|
<div class="col s6 input-field">
|
|
@@ -202,6 +255,10 @@
|
|
|
202
255
|
</div>
|
|
203
256
|
<div class="row">
|
|
204
257
|
<div class="col"><h5>17Track Normal User</h5></div>
|
|
258
|
+
<div class="col">
|
|
259
|
+
<input type="checkbox" class="value" id="t17Active" />
|
|
260
|
+
<label for="t17Active" class="translate">Aktiviert</label>
|
|
261
|
+
</div>
|
|
205
262
|
</div>
|
|
206
263
|
<div class="row">
|
|
207
264
|
<div class="col s6 input-field">
|
|
@@ -218,6 +275,9 @@
|
|
|
218
275
|
<div class="row">
|
|
219
276
|
<div class="col">
|
|
220
277
|
<div><h5>17Track</h5></div>
|
|
278
|
+
<input type="checkbox" class="value" id="t17ApiActive" />
|
|
279
|
+
<label for="t17ApiActive" class="translate">Aktiviert</label>
|
|
280
|
+
<p></p>
|
|
221
281
|
<a href="https://api.17track.net/en/admin/settings" target="_blank">Register HERE to receive a API Key</a>
|
|
222
282
|
</div>
|
|
223
283
|
</div>
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "parcel",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.3.0": {
|
|
7
|
+
"en": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
8
|
+
"de": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
9
|
+
"ru": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
10
|
+
"pt": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
11
|
+
"nl": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
12
|
+
"fr": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Connexion Fix und Captcha-Erkennung mit Hinweis",
|
|
13
|
+
"it": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Login Fix und Captcha-Erkennung mit Hinweis",
|
|
14
|
+
"es": "DHL: Neuer Login über Browser-Code (dhllogin://)\nAmazon: Acceder Fijar und Captcha-Erkennung mit Hinweis",
|
|
15
|
+
"pl": "DHL: Neuer Login über Browser- Code (dhllogin: / /)\nAmazon: Login Fix und Captcha- Erkennung mit Hinweis",
|
|
16
|
+
"uk": "DHL: Нейєр Логін über Browser-Code (dhllogin://)\nУкраїнська Русский English",
|
|
17
|
+
"zh-cn": "DHL: Neuer Login über 浏览器-代码 (dhllogin://)\n亚马逊:登录 修复 und Captcha- Erkennung mit Hinweis 系统"
|
|
18
|
+
},
|
|
19
|
+
"0.2.10": {
|
|
20
|
+
"en": "add alternative way for dhl login\nmove dhl connections error to info level",
|
|
21
|
+
"de": "alternative möglichkeit für dhl anmelden\ndhl-verbindungen fehler auf info-ebene verschieben",
|
|
22
|
+
"ru": "добавить альтернативный способ dhl login\nперенести ошибку подключений dhl на уровень информации",
|
|
23
|
+
"pt": "adicionar maneira alternativa para dhl login\nmover erro de conexões dhl para nível de informação",
|
|
24
|
+
"nl": "alternatieve manier toevoegen voor dhl login\ndhl-verbindingsfout naar infoniveau verplaatsen",
|
|
25
|
+
"fr": "ajouter une autre façon pour la connexion dhl\ndéplacer l'erreur de connexions dhl au niveau info",
|
|
26
|
+
"it": "aggiungere modo alternativo per il login dhl\nspostare l'errore di connessioni dhl a livello info",
|
|
27
|
+
"es": "añadir la forma alternativa para dhl login\nmovimiento dhl conexiones error a nivel de información",
|
|
28
|
+
"pl": "dodaj alternatywny sposób logowania dhl\nprzenieść błąd połączeń dhl do poziomu informacji",
|
|
29
|
+
"uk": "додати альтернативний спосіб для входу в систему\nперемістити помилки з'єднанням dhl на інформаційний рівень",
|
|
30
|
+
"zh-cn": "添加 dhl 登录的替代方式\n将 dhl 连接错误移动到信息级别"
|
|
31
|
+
},
|
|
32
|
+
"0.2.9": {
|
|
33
|
+
"en": "add alternative way for dhl login\nmove dhl connections error to info level",
|
|
34
|
+
"de": "alternative möglichkeit für dhl login\ndhl verbindungsfehler auf info level verschoben",
|
|
35
|
+
"ru": "добавить альтернативный способ dhl login\nперенести ошибку подключений dhl на уровень информации",
|
|
36
|
+
"pt": "adicionar maneira alternativa para dhl login\nmover erro de conexões dhl para nível de informação",
|
|
37
|
+
"nl": "alternatieve manier toevoegen voor dhl login\ndhl-verbindingsfout naar infoniveau verplaatsen",
|
|
38
|
+
"fr": "ajouter une autre façon pour la connexion dhl\ndéplacer l'erreur de connexions dhl au niveau info",
|
|
39
|
+
"it": "aggiungere modo alternativo per il login dhl\nspostare l'errore di connessioni dhl a livello info",
|
|
40
|
+
"es": "añadir la forma alternativa para dhl login\nmovimiento dhl conexiones error a nivel de información",
|
|
41
|
+
"pl": "dodaj alternatywny sposób logowania dhl\nprzenieść błąd połączeń dhl do poziomu informacji",
|
|
42
|
+
"uk": "додати альтернативний спосіб для входу в систему\nперемістити помилки з'єднанням dhl на інформаційний рівень",
|
|
43
|
+
"zh-cn": "添加 dhl 登录的替代方式\n将 dhl 连接错误移动到信息级别"
|
|
44
|
+
},
|
|
6
45
|
"0.2.8": {
|
|
7
46
|
"en": "fix amazon login",
|
|
8
47
|
"de": "fix amazon login",
|
|
@@ -36,18 +75,6 @@
|
|
|
36
75
|
"0.2.6": {
|
|
37
76
|
"en": "Improve DHL Status and add link to shipment in the telegram notification",
|
|
38
77
|
"de": "Verbesserung des DHL Status und Link zur Sendung in der Telegram Benachrichtigung hinzugefügt"
|
|
39
|
-
},
|
|
40
|
-
"0.2.2": {
|
|
41
|
-
"en": "Improvment for Amazon Login and fix for Briefaanündigung Image",
|
|
42
|
-
"de": "Verbesserung für Amazon Login und Fix für Briefankündigung Image State"
|
|
43
|
-
},
|
|
44
|
-
"0.2.1": {
|
|
45
|
-
"en": "Fix for Briefankündigung",
|
|
46
|
-
"de": "Briefankündigung wieder aktiviert"
|
|
47
|
-
},
|
|
48
|
-
"0.1.6": {
|
|
49
|
-
"en": "Fix DHL and UPS",
|
|
50
|
-
"de": "DHL und UPS gefixt"
|
|
51
78
|
}
|
|
52
79
|
},
|
|
53
80
|
"title": "Parcel tracking",
|
|
@@ -124,7 +151,6 @@
|
|
|
124
151
|
]
|
|
125
152
|
},
|
|
126
153
|
"encryptedNative": [
|
|
127
|
-
"dhlpassword",
|
|
128
154
|
"amzpassword",
|
|
129
155
|
"dpdpassword",
|
|
130
156
|
"t17password",
|
|
@@ -135,7 +161,6 @@
|
|
|
135
161
|
"glspassword"
|
|
136
162
|
],
|
|
137
163
|
"protectedNative": [
|
|
138
|
-
"dhlpassword",
|
|
139
164
|
"amzpassword",
|
|
140
165
|
"dpdpassword",
|
|
141
166
|
"t17password",
|
|
@@ -146,6 +171,14 @@
|
|
|
146
171
|
"glspassword"
|
|
147
172
|
],
|
|
148
173
|
"native": {
|
|
174
|
+
"dhlActive": true,
|
|
175
|
+
"amzActive": true,
|
|
176
|
+
"dpdActive": true,
|
|
177
|
+
"glsActive": true,
|
|
178
|
+
"upsActive": true,
|
|
179
|
+
"hermesActive": true,
|
|
180
|
+
"t17Active": true,
|
|
181
|
+
"t17ApiActive": true,
|
|
149
182
|
"amzusername": "",
|
|
150
183
|
"amzpassword": "",
|
|
151
184
|
"aliUsername": "",
|
|
@@ -162,13 +195,12 @@
|
|
|
162
195
|
"postatusername": "",
|
|
163
196
|
"postatpassword": "",
|
|
164
197
|
"amzotp": "",
|
|
198
|
+
"amzResetCookies": false,
|
|
165
199
|
"t17username": "",
|
|
166
200
|
"t17password": "",
|
|
167
201
|
"dpdusername": "",
|
|
168
202
|
"dpdpassword": "",
|
|
169
|
-
"
|
|
170
|
-
"dhlpassword": "",
|
|
171
|
-
"dhlMfa": "",
|
|
203
|
+
"dhlCode": "",
|
|
172
204
|
"17trackKey": "",
|
|
173
205
|
"sendToActive": false,
|
|
174
206
|
"noFirstStartSend": false,
|
|
@@ -281,18 +313,6 @@
|
|
|
281
313
|
},
|
|
282
314
|
"native": {}
|
|
283
315
|
},
|
|
284
|
-
{
|
|
285
|
-
"_id": "auth.dhlMfaToken",
|
|
286
|
-
"type": "state",
|
|
287
|
-
"common": {
|
|
288
|
-
"role": "state",
|
|
289
|
-
"name": "DHL Mfa Token",
|
|
290
|
-
"type": "string",
|
|
291
|
-
"read": true,
|
|
292
|
-
"write": false
|
|
293
|
-
},
|
|
294
|
-
"native": {}
|
|
295
|
-
},
|
|
296
316
|
{
|
|
297
317
|
"_id": "auth.cookie",
|
|
298
318
|
"type": "state",
|
package/lib/dhlLogin.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const qs = require('qs');
|
|
4
|
+
|
|
5
|
+
// Fixed PKCE pair matching the login URL in admin settings
|
|
6
|
+
const CODE_VERIFIER = 'zmVs5AKfGvv45a9aUvuOid9a_erOirp7XL1sn9kWT_o';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* DHL Login via dhllogin:// code (manual browser flow).
|
|
10
|
+
* User opens the DHL login URL in browser, logs in, copies the dhllogin:// redirect URL.
|
|
11
|
+
*
|
|
12
|
+
* @param {object} options
|
|
13
|
+
* @param {function} options.requestClient - axios-like request function
|
|
14
|
+
* @param {string} options.dhlCode - dhllogin://de.deutschepost.dhl/login?code=...
|
|
15
|
+
* @param {object} [options.log] - logger with .info/.debug/.error/.warn
|
|
16
|
+
* @returns {Promise<object|null>} session data (with id_token, refresh_token, etc.) or null on failure
|
|
17
|
+
*/
|
|
18
|
+
async function loginDhlNew({ requestClient, dhlCode, log }) {
|
|
19
|
+
if (!log) {
|
|
20
|
+
log = { info: console.log, debug: console.log, error: console.error, warn: console.warn };
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (!dhlCode || !dhlCode.startsWith('dhllogin://')) {
|
|
24
|
+
log.error('No valid dhllogin:// code provided. Please use the login button in adapter settings.');
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const codeUrl = qs.parse(dhlCode.split('?')[1]);
|
|
29
|
+
if (!codeUrl.code) {
|
|
30
|
+
log.error('No code found in dhllogin:// URL');
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const sessionData = await requestClient({
|
|
35
|
+
method: 'post',
|
|
36
|
+
url: 'https://login.dhl.de/af5f9bb6-27ad-4af4-9445-008e7a5cddb8/login/token',
|
|
37
|
+
headers: {
|
|
38
|
+
Host: 'login.dhl.de',
|
|
39
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
40
|
+
Accept: 'application/json, text/plain, */*',
|
|
41
|
+
Origin: 'https://login.dhl.de',
|
|
42
|
+
Connection: 'keep-alive',
|
|
43
|
+
Authorization: 'Basic ODM0NzEwODItNWMxMy00ZmNlLThkY2ItMTlkMmEzZmNhNDEzOg==',
|
|
44
|
+
'User-Agent': 'DHLPaket_PROD/1367 CFNetwork/1240.0.4 Darwin/20.6.0',
|
|
45
|
+
'Accept-Language': 'de-de',
|
|
46
|
+
},
|
|
47
|
+
data: {
|
|
48
|
+
redirect_uri: 'dhllogin://de.deutschepost.dhl/login',
|
|
49
|
+
grant_type: 'authorization_code',
|
|
50
|
+
code_verifier: CODE_VERIFIER,
|
|
51
|
+
code: codeUrl.code,
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
.then(async (res) => {
|
|
55
|
+
log.debug(JSON.stringify(res.data));
|
|
56
|
+
log.info('Login to DHL successful');
|
|
57
|
+
return res.data;
|
|
58
|
+
})
|
|
59
|
+
.catch((error) => {
|
|
60
|
+
log.error(error);
|
|
61
|
+
if (error.response) {
|
|
62
|
+
log.error(JSON.stringify(error.response.data));
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
return sessionData;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
module.exports = { loginDhlNew };
|
package/lib/tools.js
CHANGED
|
@@ -65,7 +65,7 @@ async function translateYandex(text, targetLang, apiKey) {
|
|
|
65
65
|
}
|
|
66
66
|
throw new Error('Invalid response for translate request');
|
|
67
67
|
} catch (e) {
|
|
68
|
-
throw new Error(`Could not translate to "${targetLang}": ${e}
|
|
68
|
+
throw new Error(`Could not translate to "${targetLang}": ${e}`, { cause: e });
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -88,9 +88,9 @@ async function translateGoogle(text, targetLang) {
|
|
|
88
88
|
throw new Error('Invalid response for translate request');
|
|
89
89
|
} catch (e) {
|
|
90
90
|
if (e.response && e.response.status === 429) {
|
|
91
|
-
throw new Error(`Could not translate to "${targetLang}": Rate-limited by Google Translate
|
|
91
|
+
throw new Error(`Could not translate to "${targetLang}": Rate-limited by Google Translate`, { cause: e });
|
|
92
92
|
} else {
|
|
93
|
-
throw new Error(`Could not translate to "${targetLang}": ${e}
|
|
93
|
+
throw new Error(`Could not translate to "${targetLang}": ${e}`, { cause: e });
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|