netlify-cli
Version:
Netlify command line tool
40 lines (35 loc) • 1.2 kB
JavaScript
// for a full working demo of Netlify Identity + Functions, see https://netlify-gotrue-in-react.netlify.com/
const fetch = require('node-fetch')
const handler = async function (event, context) {
if (!context.clientContext && !context.clientContext.identity) {
return {
statusCode: 500,
// Could be a custom message or object i.e. JSON.stringify(err)
body: JSON.stringify({
msg: 'No identity instance detected. Did you enable it?',
}),
}
}
const { identity, user } = context.clientContext
try {
const response = await fetch('https://api.chucknorris.io/jokes/random')
if (!response.ok) {
// NOT res.status >= 200 && res.status < 300
return { statusCode: response.status, body: response.statusText }
}
const data = await response.json()
return {
statusCode: 200,
body: JSON.stringify({ identity, user, msg: data.value }),
}
} catch (error) {
// output to netlify function log
console.log(error)
return {
statusCode: 500,
// Could be a custom message or object i.e. JSON.stringify(err)
body: JSON.stringify({ msg: error.message }),
}
}
}
module.exports = { handler }