Netlify Fetch Other API if User
Sun Jan 17 2021 22:41:51 GMT+0000 (Coordinated Universal Time)
Saved by
@girri
// 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
console.log(user)
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 }
content_copyCOPY
Comments