dio_shaker_interceptor 0.1.1
dio_shaker_interceptor: ^0.1.1 copied to clipboard
Shake to debug! dio_shaker_interceptor shows network request details. Inspect HTTP data easily with this Dio interceptor.
import 'package:dio/dio.dart';
import 'package:dio_shaker_interceptor/dio_shaker_interceptor.dart';
import 'package:flutter/material.dart';
void main() {
final dio = Dio();
dio.interceptors.add(DioShakerInterceptor());
runApp(MyApp(dio: dio));
}
class MyApp extends StatelessWidget {
final Dio dio;
const MyApp({super.key, required this.dio});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Dio Shaker Example',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
useMaterial3: true,
),
home: HomePage(dio: dio),
);
}
}
class HomePage extends StatelessWidget {
final Dio dio;
const HomePage({super.key, required this.dio});
Future<void> makeApiCall() async {
try {
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/10');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/112121');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/postssdsds/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/3');
await dio.get('https://jsonplaceholder.typicode.com/posts/1');
await dio.get('https://jsonplaceholder.typicode.com/posts/4');
await dio.get('https://jsonplaceholder.typicode.com/posts/2');
await dio.post('https://jsonplaceholder.typicode.com/posts', data: {
'title': 'foo',
'body': 'bar',
'userId': 1,
});
} catch (e) {
debugPrint('API call error: $e');
}
}
@override
Widget build(BuildContext context) {
ShakerDioDetect.detectShakeAndOpenListCurlScreen(
buildContext: context, navigatorKey: null, shakeThresholdGravity: 0.1);
return Scaffold(
appBar: AppBar(
title: const Text('Dio Shaker Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: makeApiCall,
child: const Text('Make API Request'),
),
],
),
),
);
}
}