2019-07-30 23:27:28 +09:00
|
|
|
const fetch = require('isomorphic-unfetch')
|
2019-08-01 13:22:03 +09:00
|
|
|
const { send, sendError } = require('../util/http')
|
2019-07-30 23:27:28 +09:00
|
|
|
|
2019-07-31 00:18:58 +09:00
|
|
|
async function getAvailability(name) {
|
|
|
|
const response = await fetch(
|
|
|
|
`https://twitter.com/${encodeURIComponent(name)}`
|
|
|
|
)
|
|
|
|
return response.status !== 200
|
2019-07-30 23:27:28 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = async (req, res) => {
|
|
|
|
const name = req.query.name
|
|
|
|
|
|
|
|
if (!name) {
|
|
|
|
return res.status(400).json({ error: 'no query given' })
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
2019-07-31 00:18:58 +09:00
|
|
|
const availability = await getAvailability(name)
|
2019-08-01 13:22:03 +09:00
|
|
|
send(res, availability)
|
2019-07-30 23:27:28 +09:00
|
|
|
} catch (err) {
|
2019-08-01 13:22:03 +09:00
|
|
|
sendError(res, err)
|
2019-07-30 23:27:28 +09:00
|
|
|
}
|
|
|
|
}
|