• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

icapps / flutter-template / 12908916411

22 Jan 2025 01:09PM UTC coverage: 59.889% (-3.5%) from 63.402%
12908916411

push

github

web-flow
Merge pull request #351 from icapps/feature/#336-base-screen

Feature/#336 base screen

412 of 612 new or added lines in 62 files covered. (67.32%)

12 existing lines in 7 files now uncovered.

1184 of 1977 relevant lines covered (59.89%)

2.17 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

71.43
/lib/util/interceptor/network_error_interceptor.dart
1
import 'package:dio/dio.dart';
2
import 'package:flutter_template/model/exceptions/bad_request_error.dart';
3
import 'package:flutter_template/model/exceptions/code_error.dart';
4
import 'package:flutter_template/model/exceptions/forbidden_error.dart';
5
import 'package:flutter_template/model/exceptions/general_network_error.dart';
6
import 'package:flutter_template/model/exceptions/internal_server_error.dart';
7
import 'package:flutter_template/model/exceptions/no_internet_error.dart';
8
import 'package:flutter_template/model/exceptions/un_authorized_error.dart';
9
import 'package:flutter_template/util/logging/flutter_template_logger.dart';
10
import 'package:icapps_architecture/icapps_architecture.dart';
11
import 'package:injectable/injectable.dart';
12

13
@singleton
14
class NetworkErrorInterceptor extends SimpleInterceptor {
15
  final ConnectivityHelper connectivityHelper;
16

17
  NetworkErrorInterceptor(this.connectivityHelper);
1✔
18

19
  @override
×
20
  Future<Object?> onRequest(RequestOptions options) async {
21
    final hasConnection = await connectivityHelper.hasConnection();
×
22
    if (!hasConnection) throw NoNetworkError();
×
23
    return super.onRequest(options);
×
24
  }
25

26
  @override
1✔
27
  Future<Object?> onError(DioException? error) async {
28
    try {
29
      if (error == null) return CodeError();
1✔
30
      if (error.error is NoNetworkError) return NoInternetError(error);
2✔
31
      if (error.response == null) return CodeError();
1✔
32
      final statusCode = error.response?.statusCode;
2✔
33
      switch (statusCode) {
34
        case UnAuthorizedError.statusCode:
1✔
35
          return UnAuthorizedError.parseError(error);
1✔
36
        case BadRequestError.statusCode:
1✔
37
          return BadRequestError.parseError(error);
1✔
38
        case ForbiddenError.statusCode:
1✔
39
          return ForbiddenError.parseError(error);
1✔
40
        case InternalServerError.statusCode:
1✔
41
          return InternalServerError(error);
1✔
42
        default:
43
          return GeneralNetworkError(error);
1✔
44
      }
45
    } catch (e, stack) {
NEW
46
      FlutterTemplateLogger.logError('Failed to get correct error', error: e, stackTrace: stack);
×
47
      return CodeError();
×
48
    }
49
  }
50
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc