I'm calling post API, and sometimes I get the response from the server and sometimes I receive the exception Connection closed while receiving data
. Request is same in both cases, and according to backend server logs, a response is sent but i didn't receive it.
I have this issue both in simulator and actual device.
try {
final result =
await http.post(url, body: encodedBody, headers: apiHeader);
Map<String, dynamic> response = json.decode(result.body);
print("Response: $response");
return response;
} catch (error) {
Map<String, dynamic> response = Map<String, dynamic>();
response['success'] = false;
response['message'] = error;
return response;
}
Keep-Alive
header in the headers of your request might be missing, please check with APIs required headers
I had the issue with a get request, sometimes I get the response from the server and sometimes I receive the exception Connection closed while receiving data
on same button click event. Then I founded that the number of records of particular table in database is quite large. My suggested solution is to use pagination
in the backend server
.
I have resolved this, by using this GitHub issue https://github.com/flutter/flutter/issues/22951
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With