Search code examples
flutterflutter-webdio

How to get custom response headers on web using dio?


I doing a Flutter app and I using dio to connect app with my web service. When I want to access to custom headers in response, on mobile I don't have any problem, but this headers on web not be available and get different.

My code:

  final dio = Dio();
  final response = await dio.getUri(requestUri,
      options: Options(headers: {
        'authorization': 'Bearer ${credentials!.accessToken}',
      }));

How I do to on web and mobile get a same custom headers?


Solution

  • This is due to CORS, part of the browser built-in cross-site security restrictions. Your server need to include your custom headers into the "preflight" OPTIONS response header Access-Control-Expose-Headers to allow your browser to see those headers.

    For example, https://discuss.istio.io/t/configuring-cors/7458/5