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.
40 lines
1.2 KiB
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;
|
|
}
|
|
|
|
}
|
|
} |