dio_curl_logger_interceptor 1.0.1
dio_curl_logger_interceptor: ^1.0.1 copied to clipboard
A simple dart package to help in logging HTTP requests using dio HTTP networking package
This package helps in debugging API requests using dio HTTP networking package
Features #
- Works with app requests types (GET, POST, DELETE, PUT, OPTIONS, ...)
- Works with app body types (Form data, Form URL encoded, Raw JSON, Raw text, ...)
- Compatibility with Postman
If you would like to support me, buy me a coffee π
HALF OF THE DONATIONS WILL GO TO GAZA, Free Palestine π΅πΈ

Getting started #
attach the interceptor to a dio instance as follows, remember to keep the logging interceptor at last to log all headers & fields added from other interceptors
final dio = Dio();
dio.interceptors.add(DioCurlLoggerInterceptor());
Usage #
You can also have some customization as you want, you can:
- Customize how to print the curl (by default using
logfromdart:developer) - You can determine whether to print the cURL
onRequestoronResponse&onErrorsee the following examples for more
// Customize how to print the curl
final dio = Dio();
// Write to a file for example:
final Directory directory = await getApplicationDocumentsDirectory();
final File file = File('${directory.path}/app_log.txt');
dio.interceptors.add(DioCurlLoggerInterceptor(onPrint: (final cURL) async {
print('cURL is: $cURL');
await file.writeAsString(cURL);
}));
// Determine when to print the cURL
final dio = Dio();
// [DEFAULT] this will print the cURL right before sending the the request to the server
dio.interceptors.add(DioCurlLoggerInterceptor(sendOnRequest: true));
// this will print the cURL once response arrive, either succeed or when exception happens
dio.interceptors.add(DioCurlLoggerInterceptor(sendOnRequest: false));
Contribution #
All contributions are welcome!
If you like this project then please click on the π it'll be appreciated or if you wanna add more epic stuff you can submit your pull request and it'll be gladly accepted πββοΈ
or if you found any bug or issue do not hesitate opening an issue on github