data-dictionary
data-dictionary copied to clipboard
Update docs and code with info about enable CORS requests
From conversation with someone trying to integrate the app, realized that the Next.js API doesn't have CORS enabled.
To fix this, /pages/api/graphql.ts needs to updated with:
// Make sure to "yarn add cors" or "npm i cors"
import CORS from 'cors'
const apolloServer = new ApolloServer({ typeDefs, resolvers })
const cors = CORS({ origin: "*" })
function runMiddleware(req, res, fn) {
return new Promise((resolve, reject) => {
fn(req, res, (result) => {
if (result instanceof Error) return reject(result)
return resolve(result)
})
})
}
export default async function handler(req, res) {
// Set CORS headers to allow all origins
await runMiddleware(req, res, cors)
// Create and run GQL handler
const graphql = apolloServer.createHandler({ path: "/api/graphql" })
return graphql(req, res)
}