processResponse function
Processes all non-authenticated HTTP api calls made in the app
Implementation
ProcessedResponse processResponse(
http.Response response, BuildContext context) {
if (<int>[200, 201, 202].contains(response.statusCode)) {
return ProcessedResponse(ok: true, response: response, message: '');
}
final Map<String, dynamic> body =
json.decode(response.body) as Map<String, dynamic>;
final int code = unMarshallErrorResponse(body);
if (response.statusCode == 400) {
if (code == 4) {
toggleUserExists(value: true, context: context);
}
if (code == 7 || code == 10) {
StoreProvider.dispatch<CoreState>(
context, BatchUpdateMiscStateAction(unKnownPhoneNo: true));
ScaffoldMessenger.of(context).showSnackBar(snackbar(content: noAccount));
}
if (code == 8) {
StoreProvider.dispatch<CoreState>(
context, BatchUpdateMiscStateAction(invalidCredentials: true));
}
return ProcessedResponse(
ok: false, response: response, message: getUserFriendlyMsg(code));
}
if (response.statusCode == 500) {
return ProcessedResponse(
ok: false, response: response, message: getUserFriendlyMsg(code));
}
if (response.statusCode == 408) {
return ProcessedResponse(
ok: false, response: response, message: getUserFriendlyMsg(0));
}
return ProcessedResponse(
ok: false,
response: response,
message: UserFeedBackTexts.getErrorMessage(),
);
}