Network<T> constructor
Network<T> ()
Implementation
Network() {
dio = Dio();
var options = BaseOptions(
baseUrl: "https://api.allgoodnasiya.uz/",
// baseUrl: "https://dev.api.allgoodnasiya.uz/",
connectTimeout: const Duration(seconds: 60),
receiveTimeout: const Duration(seconds: 60),
contentType: "application/json",
responseType: ResponseType.plain);
dio.options = options;
dio.interceptors.add(InterceptorsWrapper(
onRequest: (options, handler) async {
await setHeader(options);
handler.next(options);
},
onResponse: (Response response, ResponseInterceptorHandler handler) {
dio.options.headers.clear();
return handler.next(response);
},
onError: (error, handler) async {
log("\n----------------------------------------------------------------------\n\t\t\t\t onError\n\tMethod: ${error.requestOptions.method}\n\tPath: ${error.requestOptions.uri}\n\tStatusCode: ${error.response?.statusCode}\n\tStatusMessage: ${error.response?.statusMessage}\n\tHeader: ${jsonEncode(error.requestOptions.headers)}\n${error.requestOptions.data != null ? "\tBody: ${getBodyData(error.requestOptions.data)}\n" : ""}\n${error.requestOptions.queryParameters.isNotEmpty ? "\tQueryParameters: ${jsonEncode(error.requestOptions.queryParameters)}\n" : ""}\n\tResponse body: ${error.response?.data}\n----------------------------------------------------------------------");
_errorHandler(
error.response?.statusMessage ??
error.message ??
error.error.toString(),
error.response?.statusCode ?? 0);
handler.reject(error);
// if (tokenInvalidResponse(error)) {
// log("Token issue");
// // Token issue.
// if (globalContext != null) {
// Navigator.pushReplacement(
// globalContext!,
// MaterialPageRoute(
// builder: (context) => const ErrorScreen(
// token: "",
// ),
// ),
// );
// }
// } else {
// log("Error: ${error.message}");
// handler.reject(error);
// }
},
));
}