Skip to content

Commit c86ceeb

Browse files
committed
fix(unauth) : Parsing error issue in case of map.
Signed-off-by: TusharFA <tushar@flick2know.com>
1 parent 24a6abf commit c86ceeb

8 files changed

Lines changed: 186 additions & 202 deletions

File tree

example2/lib/di/injector.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ class Injector {
2525
MyLoggingInterceptor(),
2626
];
2727
locator.registerLazySingleton<ApiService>(() {
28-
return ApiServiceImpl(
29-
baseUrl: _debugBaseUrl,
30-
interceptors: interceptors,
31-
);
28+
return ApiServiceImpl(baseUrl: _debugBaseUrl, interceptors: interceptors);
3229
});
3330
}
3431
}

example2/lib/interceptor/network_interceptor.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ import 'network/network_info.dart';
66
class MyNetworkInterceptor extends NetworkInterceptor {
77
NetworkInfo networkInfo;
88

9-
MyNetworkInterceptor({
10-
required this.networkInfo,
11-
});
9+
MyNetworkInterceptor({required this.networkInfo});
1210

1311
@override
1412
Future<bool> isInternetConnected() async {

example2/lib/test_api_page.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ class _TestApiPageState extends State<TestApiPage> {
2222
@override
2323
Widget build(BuildContext context) {
2424
return Scaffold(
25-
appBar: AppBar(
26-
title: Text('Api Client'),
27-
),
25+
appBar: AppBar(title: Text('Api Client')),
2826
body: Center(
2927
child: _isLoading ? CircularProgressIndicator() : Text(_data!),
3028
),

lib/src/api_service_impl.dart

Lines changed: 82 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,29 @@ import 'package:http_parser/http_parser.dart';
1010
import 'package:path/path.dart';
1111

1212
class ApiServiceImpl implements ApiService {
13-
ApiServiceImpl({
14-
required this.baseUrl,
15-
this.interceptors,
16-
this.apiOptions,
17-
}) {
18-
_dio = Dio()
19-
..options.contentType = Headers.jsonContentType
20-
..options.connectTimeout = Duration(minutes: 1)
21-
..options.receiveTimeout = Duration(minutes: 1, seconds: 30);
13+
ApiServiceImpl({required this.baseUrl, this.interceptors, this.apiOptions}) {
14+
_dio =
15+
Dio()
16+
..options.contentType = Headers.jsonContentType
17+
..options.connectTimeout = Duration(minutes: 1)
18+
..options.receiveTimeout = Duration(minutes: 1, seconds: 30);
2219

2320
if (interceptors != null && interceptors!.isNotEmpty) {
2421
_dio!.interceptors.addAll(interceptors!);
2522
}
2623

27-
_dioFile = Dio()
28-
..options.connectTimeout = Duration(minutes: 1)
29-
..options.receiveTimeout = Duration(minutes: 1, seconds: 30);
24+
_dioFile =
25+
Dio()
26+
..options.connectTimeout = Duration(minutes: 1)
27+
..options.receiveTimeout = Duration(minutes: 1, seconds: 30);
3028

3129
if (interceptors != null && interceptors!.isNotEmpty) {
3230
_dioFile!.interceptors.addAll(interceptors!);
3331
}
3432

3533
_refreshTokenDio = Dio();
3634
if (interceptors != null && interceptors!.isNotEmpty && isDebug) {
37-
_refreshTokenDio!.interceptors.add(
38-
RefreshTokenLoggingInterceptorImpl(),
39-
);
35+
_refreshTokenDio!.interceptors.add(RefreshTokenLoggingInterceptorImpl());
4036
}
4137
}
4238

@@ -57,14 +53,16 @@ class ApiServiceImpl implements ApiService {
5753
String? body,
5854
ApiOptions? options,
5955
}) async {
60-
return _dio!.get<T>(checkIfNotEmpty(url) ? '$url' : '$baseUrl$endpoint',
61-
cancelToken: options?.cancelToken,
62-
data: body,
63-
options: Options(
64-
headers: _formatHeaders(options),
65-
receiveTimeout: options?.receiveTimeout,
66-
sendTimeout: options?.sendTimeout,
67-
));
56+
return _dio!.get<T>(
57+
checkIfNotEmpty(url) ? '$url' : '$baseUrl$endpoint',
58+
cancelToken: options?.cancelToken,
59+
data: body,
60+
options: Options(
61+
headers: _formatHeaders(options),
62+
receiveTimeout: options?.receiveTimeout,
63+
sendTimeout: options?.sendTimeout,
64+
),
65+
);
6866
}
6967

7068
@override
@@ -87,28 +85,29 @@ class ApiServiceImpl implements ApiService {
8785
);
8886
}
8987

90-
return _dio!.post<T>(url ?? '$baseUrl$endpoint',
91-
data: body,
92-
cancelToken: options?.cancelToken,
93-
options: Options(
94-
headers: _formatHeaders(options),
95-
receiveTimeout: options?.receiveTimeout,
96-
sendTimeout: options?.sendTimeout,
97-
));
88+
return _dio!.post<T>(
89+
url ?? '$baseUrl$endpoint',
90+
data: body,
91+
cancelToken: options?.cancelToken,
92+
options: Options(
93+
headers: _formatHeaders(options),
94+
receiveTimeout: options?.receiveTimeout,
95+
sendTimeout: options?.sendTimeout,
96+
),
97+
);
9898
}
9999

100100
@override
101-
Future<Response<T>> delete<T>({
102-
String? endpoint,
103-
ApiOptions? options,
104-
}) async {
105-
return _dio!.delete<T>('$baseUrl$endpoint',
106-
cancelToken: options?.cancelToken,
107-
options: Options(
108-
headers: _formatHeaders(options),
109-
receiveTimeout: options?.receiveTimeout,
110-
sendTimeout: options?.sendTimeout,
111-
));
101+
Future<Response<T>> delete<T>({String? endpoint, ApiOptions? options}) async {
102+
return _dio!.delete<T>(
103+
'$baseUrl$endpoint',
104+
cancelToken: options?.cancelToken,
105+
options: Options(
106+
headers: _formatHeaders(options),
107+
receiveTimeout: options?.receiveTimeout,
108+
sendTimeout: options?.sendTimeout,
109+
),
110+
);
112111
}
113112

114113
@override
@@ -117,14 +116,16 @@ class ApiServiceImpl implements ApiService {
117116
String? body,
118117
ApiOptions? options,
119118
}) async {
120-
return _dio!.put<T>('$baseUrl$endpoint',
121-
cancelToken: options?.cancelToken,
122-
data: body,
123-
options: Options(
124-
headers: _formatHeaders(options),
125-
receiveTimeout: options?.receiveTimeout,
126-
sendTimeout: options?.sendTimeout,
127-
));
119+
return _dio!.put<T>(
120+
'$baseUrl$endpoint',
121+
cancelToken: options?.cancelToken,
122+
data: body,
123+
options: Options(
124+
headers: _formatHeaders(options),
125+
receiveTimeout: options?.receiveTimeout,
126+
sendTimeout: options?.sendTimeout,
127+
),
128+
);
128129
}
129130

130131
@override
@@ -133,13 +134,15 @@ class ApiServiceImpl implements ApiService {
133134
String? body,
134135
ApiOptions? options,
135136
}) async {
136-
return _dio!.patch<T>('$baseUrl$endpoint',
137-
data: body,
138-
options: Options(
139-
headers: _formatHeaders(options),
140-
receiveTimeout: options?.receiveTimeout,
141-
sendTimeout: options?.sendTimeout,
142-
));
137+
return _dio!.patch<T>(
138+
'$baseUrl$endpoint',
139+
data: body,
140+
options: Options(
141+
headers: _formatHeaders(options),
142+
receiveTimeout: options?.receiveTimeout,
143+
sendTimeout: options?.sendTimeout,
144+
),
145+
);
143146
}
144147

145148
@override
@@ -190,15 +193,17 @@ class ApiServiceImpl implements ApiService {
190193

191194
final formData = FormData.fromMap(formDataMap);
192195

193-
return _dioFile!.post<T>(endpoint,
194-
cancelToken: options?.cancelToken,
195-
data: formData,
196-
onSendProgress: onSendProgress,
197-
options: Options(
198-
headers: _formatHeaders(options),
199-
receiveTimeout: options?.receiveTimeout,
200-
sendTimeout: options?.sendTimeout,
201-
));
196+
return _dioFile!.post<T>(
197+
endpoint,
198+
cancelToken: options?.cancelToken,
199+
data: formData,
200+
onSendProgress: onSendProgress,
201+
options: Options(
202+
headers: _formatHeaders(options),
203+
receiveTimeout: options?.receiveTimeout,
204+
sendTimeout: options?.sendTimeout,
205+
),
206+
);
202207
}
203208

204209
@override
@@ -239,29 +244,27 @@ class ApiServiceImpl implements ApiService {
239244
String getIsAuthRequiredKey() => Constants.isAuthRequiredAPIKey;
240245

241246
Map<String, dynamic> _formatHeaders(ApiOptions? options) {
242-
final headers = {
243-
...options?.headers ?? {},
244-
};
247+
final headers = {...options?.headers ?? {}};
245248
final _now = DateTime.now();
246-
final _midnightTime =
247-
DateTime(_now.year, _now.month, _now.day + 1).subtract(
248-
Duration(
249-
seconds: 1,
250-
),
251-
);
249+
final _midnightTime = DateTime(
250+
_now.year,
251+
_now.month,
252+
_now.day + 1,
253+
).subtract(Duration(seconds: 1));
252254
final expireDuration =
253255
options?.expireDuration ?? apiOptions?.expireDuration;
254256
headers['appSpecificHeaders'] = {
255257
"forceRefreshCache":
256258
options?.refreshCache ?? apiOptions?.refreshCache ?? false,
257-
"expirationTime": expireDuration != null
258-
? _now.add(expireDuration).toString()
259-
: _midnightTime.toString(),
259+
"expirationTime":
260+
expireDuration != null
261+
? _now.add(expireDuration).toString()
262+
: _midnightTime.toString(),
260263
"expireDuration": options?.expireDuration ?? apiOptions?.expireDuration,
261264
"ignoreAutoRefresh":
262265
options?.ignoreAutoRefresh ?? apiOptions?.ignoreAutoRefresh ?? false,
263266
"cacheResponse":
264-
options?.cacheResponse ?? apiOptions?.cacheResponse ?? true
267+
options?.cacheResponse ?? apiOptions?.cacheResponse ?? true,
265268
};
266269
return headers;
267270
}

lib/src/base/api_service.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ abstract class ApiService {
2727
ApiOptions? options,
2828
});
2929

30-
Future<Response<T>> delete<T>({
31-
String? endpoint,
32-
ApiOptions? options,
33-
});
30+
Future<Response<T>> delete<T>({String? endpoint, ApiOptions? options});
3431

3532
Future<Response<T>> patch<T>({
3633
String? endpoint,

0 commit comments

Comments
 (0)