mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-09 16:07:57 -06:00
Updated onboarding, reformatted files, improved referenced documents view, updated error handling
This commit is contained in:
@@ -22,13 +22,19 @@ class AuthenticationInterceptor implements InterceptorContract {
|
||||
}
|
||||
return request.copyWith(
|
||||
//Append server Url
|
||||
url: Uri.parse(authState.authentication!.serverUrl + request.url.toString()),
|
||||
url: Uri.parse(
|
||||
authState.authentication!.serverUrl + request.url.toString()),
|
||||
headers: authState.authentication!.token.isEmpty
|
||||
? request.headers
|
||||
: {...request.headers, 'Authorization': 'Token ${authState.authentication!.token}'},
|
||||
: {
|
||||
...request.headers,
|
||||
'Authorization': 'Token ${authState.authentication!.token}'
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<BaseResponse> interceptResponse({required BaseResponse response}) async => response;
|
||||
Future<BaseResponse> interceptResponse(
|
||||
{required BaseResponse response}) async =>
|
||||
response;
|
||||
}
|
||||
|
||||
@@ -4,24 +4,22 @@ import 'package:paperless_mobile/features/login/bloc/authentication_cubit.dart';
|
||||
import 'package:http_interceptor/http_interceptor.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
@Deprecated("Delegated to TimeoutClient!")
|
||||
@injectable
|
||||
class ConnectionStateInterceptor implements InterceptorContract {
|
||||
final AuthenticationCubit authenticationCubit;
|
||||
final ConnectivityStatusService connectivityStatusService;
|
||||
ConnectionStateInterceptor(this.authenticationCubit, this.connectivityStatusService);
|
||||
|
||||
ConnectionStateInterceptor(
|
||||
this.authenticationCubit, this.connectivityStatusService);
|
||||
|
||||
@override
|
||||
Future<BaseRequest> interceptRequest({required BaseRequest request}) async {
|
||||
if (!(await connectivityStatusService.isConnectedToInternet())) {
|
||||
throw const ErrorMessage(ErrorCode.deviceOffline);
|
||||
}
|
||||
final isServerReachable = await connectivityStatusService.isServerReachable(request.url.origin);
|
||||
if (!isServerReachable) {
|
||||
throw const ErrorMessage(ErrorCode.serverUnreachable);
|
||||
}
|
||||
return request;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<BaseResponse> interceptResponse({required BaseResponse response}) async => response;
|
||||
Future<BaseResponse> interceptResponse(
|
||||
{required BaseResponse response}) async =>
|
||||
response;
|
||||
}
|
||||
|
||||
@@ -14,12 +14,15 @@ class LanguageHeaderInterceptor implements InterceptorContract {
|
||||
if (appSettingsCubit.state.preferredLocaleSubtag == "en") {
|
||||
languages = "en";
|
||||
} else {
|
||||
languages = appSettingsCubit.state.preferredLocaleSubtag + ",en;q=0.7,en-US;q=0.6";
|
||||
languages = appSettingsCubit.state.preferredLocaleSubtag +
|
||||
",en;q=0.7,en-US;q=0.6";
|
||||
}
|
||||
request.headers.addAll({"Accept-Language": languages});
|
||||
return request;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<BaseResponse> interceptResponse({required BaseResponse response}) async => response;
|
||||
Future<BaseResponse> interceptResponse(
|
||||
{required BaseResponse response}) async =>
|
||||
response;
|
||||
}
|
||||
|
||||
@@ -7,11 +7,14 @@ const interceptedRoutes = ['thumb/'];
|
||||
@injectable
|
||||
class ResponseConversionInterceptor implements InterceptorContract {
|
||||
@override
|
||||
Future<BaseRequest> interceptRequest({required BaseRequest request}) async => request;
|
||||
Future<BaseRequest> interceptRequest({required BaseRequest request}) async =>
|
||||
request;
|
||||
|
||||
@override
|
||||
Future<BaseResponse> interceptResponse({required BaseResponse response}) async {
|
||||
final String requestUrl = response.request?.url.toString().split("?").first ?? '';
|
||||
Future<BaseResponse> interceptResponse(
|
||||
{required BaseResponse response}) async {
|
||||
final String requestUrl =
|
||||
response.request?.url.toString().split("?").first ?? '';
|
||||
if (response.request?.method == "GET" &&
|
||||
interceptedRoutes.any((element) => requestUrl.endsWith(element))) {
|
||||
final resp = response as Response;
|
||||
|
||||
Reference in New Issue
Block a user