-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.js
More file actions
35 lines (27 loc) · 847 Bytes
/
index.js
File metadata and controls
35 lines (27 loc) · 847 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const Koa = require('koa')
const cors = require('@koa/cors')
const app = new Koa()
const axios = require('axios')
const fs = require('fs')
const pdf = require('pdf-parse')
const utils = require('./utils')
app.use(cors())
app.listen(process.env.PORT || 3000)
app.use(async (ctx, next) => {
if (ctx.path == '/parse-resume') {
let url = ctx.query.fileUrl
ctx.assert(url, 400, 'the query: `fileUrl` cannot be null')
if (!url.includes('http')) url = 'https:' + url
console.log(`------ parsing doc: ${url} ------`)
let resp = await axios({
url: encodeURI(url),
responseType: 'arraybuffer',
})
let data = await pdf(resp.data, {max: 1})
ctx.body = {
name: utils.getName(url),
phone: utils.getPhone(data.text),
email: utils.getEmail(data.text),
}
} else ctx.res.status = 404
})