opt: post redirect

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-29 16:08:44 +08:00
parent f6b5d358e0
commit 85f06ed65d
3 changed files with 46 additions and 31 deletions

View File

@@ -170,7 +170,28 @@ class AccountManager extends Interceptor {
}
@override
void onError(DioException err, ErrorInterceptorHandler handler) {
void onError(DioException err, ErrorInterceptorHandler handler) async {
if (err.requestOptions.method != 'POST') {
toast(err);
}
if (err.response != null &&
!err.response!.requestOptions.path.startsWith(HttpString.appBaseUrl)) {
_saveCookies(err.response!).then((_) => handler.next(err)).catchError(
(dynamic e, StackTrace s) {
final error = DioException(
requestOptions: err.response!.requestOptions,
error: e,
stackTrace: s,
);
handler.next(error);
},
);
} else {
handler.next(err);
}
}
static void toast(err) {
const List<String> skipShow = [
'heartbeat',
'history/report',
@@ -190,22 +211,6 @@ class AccountManager extends Interceptor {
} else {
dioError(err).then((res) => SmartDialog.showToast(res + url));
}
if (err.response != null &&
!err.response!.requestOptions.path.startsWith(HttpString.appBaseUrl)) {
_saveCookies(err.response!).then((_) => handler.next(err)).catchError(
(dynamic e, StackTrace s) {
final error = DioException(
requestOptions: err.response!.requestOptions,
error: e,
stackTrace: s,
);
handler.next(error);
},
);
} else {
handler.next(err);
}
}
Future<void> _saveCookies(Response response) async {