
Last day I deployed a function to my selfhosted Appwrite and its working fine when I execute it from console.
It even worked fine when I execute a GET request from my Flutter Windows App.
But It is showing following error when a POST request executed from Flutter App:
File "/usr/local/server/src/server.py", line 210, in handler
return await action(request)
File "/usr/local/server/src/server.py", line 131, in action
context.req.body = request.get_json(force=True, silent=False)
File "/usr/local/server/src/function/runtime-env/lib/python3.9/site-packages/werkzeug/wrappers/request.py", line 623, in get_json
rv = self.on_json_loading_failed(e)
File "/usr/local/server/src/function/runtime-env/lib/python3.9/site-packages/flask/wrappers.py", line 131, in on_json_loading_failed
raise BadRequest()
werkzeug.exceptions.BadRequest: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.```
My Flutter Code:
```Execution result = await _functions.createExecution(
functionId: AppwriteCredentials.hookGeneratorFunctionId,
body: "{'user_message': $userInputText}", // optional
method: ExecutionMethod.pOST, // optional
headers: {"Content-Type": "application/json"}, // optional
);```

Is it possible POST
is case sensitive? And are you handling POST requests in your Function?

@ideclon As I said its working properly when executed from console.
The only problem is with POST request from flutter.

Is it possible POST
is case sensitive?

(I don’t know Flutter, but that doesn’t seem unreasonable)

Is it possible POST is case sensitive?
I did not get your point.
I think This issue is more related to decoding json response coming to server.

Well, you set the method as ExecutionMethod.pOST

ExecutionMethod.pOST
It is provided by appwrite SDK for Flutter as its is.
and this is not the issue

that body you have is invalid JSON. you can't use single quotes

EDITED:
@Steven
I Tried these and non of them worked:
1. body: "{'user_message': $userInputText}",
2. body: '{"user_message": $userInputText}'
Execution result = await _functions.createExecution(
functionId: AppwriteCredentials.hookGeneratorFunctionId,
body: body, // optional
method: ExecutionMethod.pOST, // optional
headers: {"Content-Type": "application/json"}, // optional
);```
Recommended threads
- Flutter OAuth2 Google does not return to...
When the flow starts, the browser opens, I select an account, and it keeps showing: """ Page not found The page you're looking for doesn't exist. `general_rout...
- Error
I'm trying to get sellerId using account.get() in my appwrite function and this is the error message I'm getting: "Failed to send notification to seller 6865bf...
- Is there a timeframe for updating dart r...
Dart 3.5 is already one year old, and the following versions have introduced very important features for the language. Is there a roadmap or timeframe for when...
