UNPKG

netlify-cli

Version:

Netlify command line tool

30 lines (25 loc) 908 B
// // optionally configure local env vars // require('dotenv').config() // // details in https://css-tricks.com/using-netlify-forms-and-netlify-functions-to-build-an-email-sign-up-widget const process = require('process') const fetch = require('node-fetch') const { EMAIL_TOKEN } = process.env const handler = async (event) => { const { email } = JSON.parse(event.body).payload console.log(`Received a submission: ${email}`) try { const response = await fetch('https://api.buttondown.email/v1/subscribers', { method: 'POST', headers: { Authorization: `Token ${EMAIL_TOKEN}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ email }), }) const data = await response.json() console.log(`Submitted to Buttondown:\n ${data}`) } catch (error) { return { statusCode: 422, body: String(error) } } } module.exports = { handler }