Heyo,
My function for some reason is suddenly failing. Trying it out with postman, the req.body should be filled, but it's not?
TL;DR
Issue: Function is failing because req.body is not being properly populated when testing with postman.
Solution: Ensure that the function environment variables are correctly set up and that the request from postman includes the expected body content.My function:
TypeScript
import { Client, Databases, Account } from 'node-appwrite';
export const client = new Client();
export const account = new Account(client);
export const databases = new Databases(client);
export default async ({ req, res, log, error }) => {
client
.setEndpoint(`${process.env.APPWRITE_API_URL}/v1`)
.setProject(`${process.env.APPWRITE_PROJECT_ID}`)
.setKey(process.env.APPWRITE_API_KEY);
const document = req.body;
if (!document) {
error('Invalid request');
return res.json({ ok: false });
}
try {
await databases.getDocument('db_web', 'users', document?.userId);
log('User document get');
} catch (e) {
if (e.code === 404) {
try {
log('Creating user document');
const response = await databases.createDocument(
'db_web',
'users',
document.userId,
{},
[
`read(\"user:${document.userId}\")`,
`update(\"user:${document.userId}\")`,
`delete(\"user:${document.userId}\")`,
]
);
return res.send(200);
} catch (e) {
error(e);
return res.send(500);
}
}
}
return res.send(200);
};
If I post to the function using postman, the body is empty.
self-hosted, 1.5.3
cc @Meldiron
it also doesn't provide the error "invalid request" sometimes, which is before ok: false?
It's like a 50/50 ^^
Recommended threads
- Self-host migration from 1.8.X
Is it safe to now migrate from 1.7.4 to 1.8.X on my selfhost?
- DeploymentStatus enum value `canceled` m...
Hey, Sorry if it has been reported already, I found an issue using the Dart SDK where the `canceled` enum value is missing from `DeploymentStatus`. This causes...
- Synchronous function execution timeout w...
I am calling server functions with xasync = true and I still get this error message. Synchronous function execution timed out. Use asynchronous execution inste...