| 110 | }); | 110 | }); |
| 111 | | 111 | |
| 112 | router.post('/yandex', jsonParser, async (request, response) => { | 112 | router.post('/yandex', jsonParser, async (request, response) => { |
| 113 | const chunks = request.body.chunks; | 113 | try { |
| 114 | const lang = request.body.lang; | 114 | const chunks = request.body.chunks; |
| | 115 | const lang = request.body.lang; |
| 115 | | 116 | |
| 116 | if (!chunks || !lang) { | 117 | if (!chunks || !lang) { |
| 117 | return response.sendStatus(400); | 118 | return response.sendStatus(400); |
| 118 | } | 119 | } |
| 119 | | 120 | |
| 120 | // reconstruct original text to log | 121 | // reconstruct original text to log |
| 121 | let inputText = ''; | 122 | let inputText = ''; |
| 122 | | 123 | |
| 123 | const params = new URLSearchParams(); | 124 | const params = new URLSearchParams(); |
| 124 | for (const chunk of chunks) { | 125 | for (const chunk of chunks) { |
| 125 | params.append('text', chunk); | 126 | params.append('text', chunk); |
| 126 | inputText += chunk; | 127 | inputText += chunk; |
| 127 | } | 128 | } |
| 128 | params.append('lang', lang); | 129 | params.append('lang', lang); |
| 129 | const ucid = uuidv4().replaceAll('-', ''); | 130 | const ucid = uuidv4().replaceAll('-', ''); |
| 130 | | 131 | |
| 131 | console.log('Input text: ' + inputText); | 132 | console.log('Input text: ' + inputText); |
| 132 | | 133 | |
| 133 | try { | | |
| 134 | const result = await fetch(`https://translate.yandex.net/api/v1/tr.json/translate?ucid=${ucid}&srv=android&format=text`, { | 134 | const result = await fetch(`https://translate.yandex.net/api/v1/tr.json/translate?ucid=${ucid}&srv=android&format=text`, { |
| 135 | method: 'POST', | 135 | method: 'POST', |
| 136 | body: params, | 136 | body: params, |