ANIKETOriginal post
Web Developer
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)
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
Summary
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.