rippanteq7 commited on
Commit
fa1ba63
1 Parent(s): bde188c

default send as buffer

Browse files
Files changed (1) hide show
  1. index.js +28 -23
index.js CHANGED
@@ -63,7 +63,7 @@ app.all('/carbon', async (req, res) => {
63
  ...obj, puppeteer: { executablePath: process.env.CHROME_BIN }
64
  })
65
  const resultUrl = `https://${req.hostname}/${image.replace(tmpDir, 'file')}`
66
- isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.buffer) ? 'redirect' : 'send'](resultUrl)
67
  } catch (e) {
68
  console.log(e)
69
  res.status(500).json({ error: true, message: getError(e) })
@@ -85,7 +85,7 @@ app.all('/topdf', async (req, res) => {
85
  await fs.promises.writeFile(`${tmpDir}/${fileName}`, bufferPDF)
86
 
87
  const resultUrl = `https://${req.hostname}/file/${fileName}`
88
- isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.buffer) ? 'redirect' : 'send'](resultUrl)
89
  } catch (e) {
90
  console.log(e)
91
  res.status(500).json({ error: true, message: getError(e) })
@@ -107,7 +107,7 @@ app.all(/^\/webp2(gif|mp4|png)/, async (req, res) => {
107
  await fs.promises.writeFile(`${tmpDir}/${fileName}`, fileBuffer)
108
 
109
  const resultUrl = `https://${req.hostname}/file/${fileName}`
110
- isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.buffer) ? 'redirect' : 'send'](resultUrl)
111
  return
112
  } else {
113
  const fileName = randomName('.webp')
@@ -124,7 +124,7 @@ app.all(/^\/webp2(gif|mp4|png)/, async (req, res) => {
124
  resultUrl = `https://${req.hostname}/file/${fileName.replace('webp', 'mp4')}`
125
  }
126
 
127
- isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.buffer) ? 'redirect' : 'send'](resultUrl)
128
  }
129
  } catch (e) {
130
  console.log(e)
@@ -161,27 +161,32 @@ function randomName(ext = '') {
161
 
162
  function toPDF(urls) {
163
  return new Promise(async (resolve, reject) => {
164
- const doc = new PDFDocument({ margin: 0, size: 'A4' })
165
- const buffs = []
166
-
167
- for (let x = 0; x < urls.length; x++) {
168
- if (!/https:\/\//.test(urls[x])) continue
169
- const url = new URL(urls[x])
170
- let image = await fetch(url.toString(), { headers: { referer: url.origin } })
171
- if (!image.ok) continue
172
 
173
- const type = image.headers.get('content-type')
174
- if (!/image/.test(type)) continue
175
- image = Buffer.from(await image.arrayBuffer())
176
- if (/(gif|webp)$/.test(type)) image = await sharp(image).png().toBuffer()
 
 
 
 
 
 
 
 
 
 
177
 
178
- doc.image(image, 0, 0, { fit: [595.28, 841.89], align: 'center', valign: 'center' })
179
- if (urls.length != x + 1) doc.addPage()
 
 
 
 
 
180
  }
181
-
182
- doc.on('data', (chunk) => buffs.push(chunk))
183
- doc.on('end', () => resolve(Buffer.concat(buffs)))
184
- doc.on('error', (err) => reject(err))
185
- doc.end()
186
  })
187
  }
 
63
  ...obj, puppeteer: { executablePath: process.env.CHROME_BIN }
64
  })
65
  const resultUrl = `https://${req.hostname}/${image.replace(tmpDir, 'file')}`
66
+ isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.raw) ? 'send' : 'redirect'](resultUrl)
67
  } catch (e) {
68
  console.log(e)
69
  res.status(500).json({ error: true, message: getError(e) })
 
85
  await fs.promises.writeFile(`${tmpDir}/${fileName}`, bufferPDF)
86
 
87
  const resultUrl = `https://${req.hostname}/file/${fileName}`
88
+ isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.raw) ? 'send' : 'redirect'](resultUrl)
89
  } catch (e) {
90
  console.log(e)
91
  res.status(500).json({ error: true, message: getError(e) })
 
107
  await fs.promises.writeFile(`${tmpDir}/${fileName}`, fileBuffer)
108
 
109
  const resultUrl = `https://${req.hostname}/file/${fileName}`
110
+ isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.raw) ? 'send' : 'redirect'](resultUrl)
111
  return
112
  } else {
113
  const fileName = randomName('.webp')
 
124
  resultUrl = `https://${req.hostname}/file/${fileName.replace('webp', 'mp4')}`
125
  }
126
 
127
+ isTrue(obj.json) ? res.json({ success: true, result: resultUrl }) : res[isTrue(obj.raw) ? 'send' : 'redirect'](resultUrl)
128
  }
129
  } catch (e) {
130
  console.log(e)
 
161
 
162
  function toPDF(urls) {
163
  return new Promise(async (resolve, reject) => {
164
+ try {
165
+ const doc = new PDFDocument({ margin: 0, size: 'A4' })
166
+ const buffs = []
 
 
 
 
 
167
 
168
+ for (let x = 0; x < urls.length; x++) {
169
+ if (!/https:\/\//.test(urls[x])) continue
170
+ const url = new URL(urls[x])
171
+ let image = await fetch(url.toString(), { headers: { referer: url.origin } })
172
+ if (!image.ok) continue
173
+
174
+ const type = image.headers.get('content-type')
175
+ if (!/image/.test(type)) continue
176
+ image = Buffer.from(await image.arrayBuffer())
177
+ if (/(gif|webp)$/.test(type)) image = await sharp(image).png().toBuffer()
178
+
179
+ doc.image(image, 0, 0, { fit: [595.28, 841.89], align: 'center', valign: 'center' })
180
+ if (urls.length != x + 1) doc.addPage()
181
+ }
182
 
183
+ doc.on('data', (chunk) => buffs.push(chunk))
184
+ doc.on('end', () => resolve(Buffer.concat(buffs)))
185
+ doc.on('error', (err) => reject(err))
186
+ doc.end()
187
+ } catch (e) {
188
+ console.log(e)
189
+ reject(e)
190
  }
 
 
 
 
 
191
  })
192
  }