import type { NextApiRequest, NextApiResponse } from 'next'
import fetch from 'node-fetch'
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
try {
let hostname = req.headers.host
// make a POST request with the data from the frontend to the backend
const response = await fetch('http://' + hostname + '/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(req.body),
})
// Filter out non-POST requests
if (req.method !== 'POST') {
res.status(405).send({ message: 'Only POST requests allowed' })
return
}
// parse the response
const data = await response.json()
// return the data
res.status(200).json(data)
} catch (error) {
// return any errors
if (error instanceof Error) {
res.status(500).json({ error: error.message })
} else {
res.status(500).json({ error: 'An unknown error occurred' })
}
}
}