TLDR: I've deployed a appwrite function and adding appropriate headers while sending the request back and it was working well and good previous week but today suddely the request started to fail and i started getting CORS error, Also idk why but the GET request is working but not the POST.
Here's the code (Also i want to make sure the functions is accessible by the public users)
TypeScript
export default async ({ req, res, log, error }) => {
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization'
};
if (req.method === 'OPTIONS') {
return res.json({}, 200, corsHeaders);
}
if (req.method === 'GET') {
try {
return res.json({"message":"Triggered the pipeline"}, 200, corsHeaders);
} catch (err) {
console.error('GET request error:', err);
return res.json({ error: 'Internal Server Error' }, 500, corsHeaders);
}
}
if (req.path === "/health_check") {
return res.json({"status":"Healthy"}, 200, corsHeaders);
}
if (req.method === 'POST') {
try {
const body = req.body || {};
let payload;
// actual code
return res.json({
message: '... ... successfully',
}, 200, corsHeaders);
} catch (err) {
console.error('Error ...:', err);
return res.json({
error: 'Internal Server Error',
message: err.message
}, 500, corsHeaders);
}
}
return res.json({ error: 'Method not allowed' }, 405, corsHeaders);
};
Thanks
TL;DR
Developers added appropriate CORS headers for an appwrite function. GET request is working, but POST is failing with CORS error suddenly. To ensure function accessibility by the public, check CORS headers and if POST request body is correctly handled.Recommended threads
- Can't edit envvars 'variableId is not op...
In general project settings
- Using Binary Log with Appwrite
If I can remember correctly appwrite uses mariaDB as the underlying database. If so could I use mariaDB’s binary log to see database operations from appwrite?
- 500 Internal Error on Free Plan Projects...
Hello Appwrite Support Team, I am experiencing a 500 Internal Server Error when trying to access my free plan projects in the Appwrite Cloud console. Project ...