Spaces:
Paused
Paused
browser caching
Browse files
index.js
CHANGED
|
@@ -12,6 +12,8 @@ import sharp from 'sharp'
|
|
| 12 |
import util from 'util'
|
| 13 |
import yts from 'yt-search'
|
| 14 |
|
|
|
|
|
|
|
| 15 |
const utils = {
|
| 16 |
getBrowser: (...opts) => playwright.chromium.launch({
|
| 17 |
args: [
|
|
@@ -49,9 +51,10 @@ const utils = {
|
|
| 49 |
fetchPOST: (url, body, opts = {}) => fetch(url, { method: 'POST', body, ...opts }),
|
| 50 |
formatSize: (n) => bytes(+n, { unitSeparator: ' ' }),
|
| 51 |
generateBrat: async (text) => {
|
| 52 |
-
|
|
|
|
| 53 |
try {
|
| 54 |
-
|
| 55 |
await page.goto('https://www.bratgenerator.com/')
|
| 56 |
await page.click('#toggleButtonWhite')
|
| 57 |
await page.locator('#textInput').fill(text)
|
|
@@ -62,8 +65,8 @@ const utils = {
|
|
| 62 |
} catch (e) {
|
| 63 |
throw e
|
| 64 |
} finally {
|
| 65 |
-
|
| 66 |
-
|
| 67 |
},
|
| 68 |
getError: (e) => String(e).startsWith('[object ') ? 'Internal Server Error' : String(e),
|
| 69 |
isBase64: (str) => {
|
|
@@ -300,4 +303,10 @@ app.all(/^\/y(outube|t)(\/(d(ownload|l)|search)?)?/, async (req, res) => {
|
|
| 300 |
|
| 301 |
// app.use((req, res, next) => {})
|
| 302 |
|
| 303 |
-
app.listen(7860, () =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
import util from 'util'
|
| 13 |
import yts from 'yt-search'
|
| 14 |
|
| 15 |
+
let browser = null;
|
| 16 |
+
|
| 17 |
const utils = {
|
| 18 |
getBrowser: (...opts) => playwright.chromium.launch({
|
| 19 |
args: [
|
|
|
|
| 51 |
fetchPOST: (url, body, opts = {}) => fetch(url, { method: 'POST', body, ...opts }),
|
| 52 |
formatSize: (n) => bytes(+n, { unitSeparator: ' ' }),
|
| 53 |
generateBrat: async (text) => {
|
| 54 |
+
if (!browser) browser = await utils.getBrowser()
|
| 55 |
+
let page
|
| 56 |
try {
|
| 57 |
+
page = await browser.newPage()
|
| 58 |
await page.goto('https://www.bratgenerator.com/')
|
| 59 |
await page.click('#toggleButtonWhite')
|
| 60 |
await page.locator('#textInput').fill(text)
|
|
|
|
| 65 |
} catch (e) {
|
| 66 |
throw e
|
| 67 |
} finally {
|
| 68 |
+
if (page) await page.close()
|
| 69 |
+
}
|
| 70 |
},
|
| 71 |
getError: (e) => String(e).startsWith('[object ') ? 'Internal Server Error' : String(e),
|
| 72 |
isBase64: (str) => {
|
|
|
|
| 303 |
|
| 304 |
// app.use((req, res, next) => {})
|
| 305 |
|
| 306 |
+
app.listen(7860, async() => {
|
| 307 |
+
if (!browser) {
|
| 308 |
+
browser = await utils.getBrowser()
|
| 309 |
+
await browser.newPage()
|
| 310 |
+
}
|
| 311 |
+
console.log('App running on port 7860')
|
| 312 |
+
})
|