You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudsolutions-atoms/lib/controllers/http_status_manger/http_status_manger.dart

40 lines
1.2 KiB
Dart

import 'package:test_sa/models/subtitle.dart';
import 'package:meta/meta.dart';
class HttpStatusManger{
static String getStatusMessage({
@required int status,
@required Subtitle subtitle,
String messageFor400,
String messageFor200,
}){
if(status == null)
// no status code - code error no need for subtitle
return "careful null status";
if(status == -1)
// client's request in process
return subtitle.currentlyServiceNotAvailable;
if(status == -2){
// client's request in process
return subtitle.waitUntilYourRequestComplete;
}else if(status >= 200 && status < 300){
// client's request was successfully received
return messageFor200 ?? subtitle.requestCompleteSuccessfully;
} else if(status >= 400 && status < 500){
// client's request have error
switch(status){
case 400:
return messageFor400 ?? subtitle.failedToCompleteRequest;
default:
return subtitle.failedToCompleteRequest;
}
} else if(status >= 500){
// server error
return subtitle.currentlyServiceNotAvailable;
} else {
// no error match so return default error
return subtitle.failedToCompleteRequest;
}
}
}