Глобальная конфигурация (перехватчик) для диода во Flutter
Впервые с Flutter. Я использую dio для отправки HTTP-запросов, и мне нужно добавить заголовок ко всем запросам, что я делаю с перехватчиком, например:
Dio dio = new Dio();
dio.interceptors.add(InterceptorsWrapper(
onRequest:(RequestOptions options) async {
options.headers["X-Requested-With"] = "XMLHttpRequest";
})
);
Он работает в main.dart, но если я хочу импортировать другой класс, например MyHomePage.dart, и выполнять там HTTP-запросы, мне также придется переопределить перехватчик в этом классе.
Как я могу реализовать этот перехватчик для всего моего приложения, не добавляя его в каждый файл.dart?
2 ответа
Создайте функцию, в которой находится DIO, а затем вызовите ее при необходимости.
Dio getDio() {
Dio dio = new Dio();
dio.interceptors.add(InterceptorsWrapper(onRequest: (RequestOptions options) async {
options.headers["X-Requested-With"] = "XMLHttpRequest";
}));
return dio;
}
У меня это сработало хорошо, без перехватчиков, просто создайте класс и используйте его в своем приложении.