Spaces:
Running
Running
Update index.js
Browse files
index.js
CHANGED
@@ -1,15 +1,12 @@
|
|
1 |
const os = require('os')
|
|
|
|
|
2 |
const bytes = require('bytes')
|
3 |
const sharp = require('sharp')
|
4 |
const morgan = require('morgan')
|
5 |
const express = require('express')
|
6 |
const PDFDocument = require('pdfkit')
|
7 |
|
8 |
-
let myIP;
|
9 |
-
(async () => {
|
10 |
-
myIP = (await (await fetch('https://icanhazip.com/')).text()).trim()
|
11 |
-
})()
|
12 |
-
|
13 |
const app = express()
|
14 |
app.set('json spaces', 4)
|
15 |
app.use(morgan('dev'))
|
@@ -114,21 +111,23 @@ app.get('/yt/convert', async (req, res) => {
|
|
114 |
const reqTaskJson = await reqTaskId.json()
|
115 |
if (reqTaskJson.error) return res.json({ success: false, message: reqTaskJson.message })
|
116 |
|
117 |
-
let
|
118 |
-
while (!
|
119 |
const fetchTaskId = await fetchPost('https://srvcdn3.2convert.me/api/json/task', `taskId=${reqTaskJson.taskId}`)
|
120 |
const fetchTaskJson = await fetchTaskId.json()
|
121 |
console.log(fetchTaskJson)
|
122 |
if (fetchTaskJson.status === 'finished') {
|
123 |
-
|
124 |
break
|
125 |
}
|
126 |
-
|
127 |
await new Promise(resolve => setTimeout(resolve, 1000))
|
128 |
}
|
129 |
|
130 |
-
|
131 |
-
|
|
|
|
|
|
|
132 |
} catch (e) {
|
133 |
console.log(e)
|
134 |
e = String(e)
|
|
|
1 |
const os = require('os')
|
2 |
+
const mime = require('mime')
|
3 |
+
const axios = require('axios')
|
4 |
const bytes = require('bytes')
|
5 |
const sharp = require('sharp')
|
6 |
const morgan = require('morgan')
|
7 |
const express = require('express')
|
8 |
const PDFDocument = require('pdfkit')
|
9 |
|
|
|
|
|
|
|
|
|
|
|
10 |
const app = express()
|
11 |
app.set('json spaces', 4)
|
12 |
app.use(morgan('dev'))
|
|
|
111 |
const reqTaskJson = await reqTaskId.json()
|
112 |
if (reqTaskJson.error) return res.json({ success: false, message: reqTaskJson.message })
|
113 |
|
114 |
+
let result
|
115 |
+
while (!result) {
|
116 |
const fetchTaskId = await fetchPost('https://srvcdn3.2convert.me/api/json/task', `taskId=${reqTaskJson.taskId}`)
|
117 |
const fetchTaskJson = await fetchTaskId.json()
|
118 |
console.log(fetchTaskJson)
|
119 |
if (fetchTaskJson.status === 'finished') {
|
120 |
+
result = fetchTaskJson
|
121 |
break
|
122 |
}
|
|
|
123 |
await new Promise(resolve => setTimeout(resolve, 1000))
|
124 |
}
|
125 |
|
126 |
+
const { download, title, ext } = result
|
127 |
+
const response = await axios.get(download, { responseType: 'stream' })
|
128 |
+
res.setHeader('Content-Disposition', `attachment; filename=${title}.${ext}`)
|
129 |
+
res.setHeader('Content-Type', mime.types[ext])
|
130 |
+
response.data.pipe(res)
|
131 |
} catch (e) {
|
132 |
console.log(e)
|
133 |
e = String(e)
|