Alice is an HTTP Inspector tool for Flutter which helps debugging http requests. It catches and stores http requests and responses, which can be viewed via simple UI. It is inspired from Chuck (https://github.com/jgilfelt/chuck).
Alice supports http clients:
- Dio
- HttpClient from dart:io package
- Http from http/http package
- Add this to your package's pubspec.yaml file:
dependencies:
alice: ^0.0.2
- Install it
$ flutter packages get
- Import it
import 'package:alice/alice.dart';
Create Alice instance:
Alice alice = Alice(showNotification: true);
Alice default behaviour is to show notification with http requests. You can disable it Alice
constructor.
Add navigator key to your application:
MaterialApp( navigatorKey: alice.getNavigatorKey(), home: ...)
You need to add this navigator key in order to show inspector UI.
If you're using Dio, you just need to add interceptor.
Dio dio = Dio();
dio.interceptors.add(alice.getDioInterceptor());
If you're using HttpClient from dart:io package:
httpClient
.getUrl(Uri.parse("https://jsonplaceholder.typicode.com/posts"))
.then((request) async {
alice.onHttpClientRequest(request);
var httpResponse = await request.close();
var responseBody = await httpResponse.transform(utf8.decoder).join();
alice.onHttpClientResponse(httpResponse, request, body: responseBody);
});
If you're using http from http/http package:
http.get('https://jsonplaceholder.typicode.com/posts').then((response) {
alice.onHttpResponse(response);
});
To show inspector manually:
alice.showInspector();
See complete example here: https://github.com/jhomlala/alice/blob/master/example/lib/main.dart