Pub Check Status BSD

A customized dio HttpClientAdapter based on the dart:io package, to work around the "Hostname mismatch" issue when accessing URIs with an IP address (DNS over HTTP for example).


Get an IP address of the 'pub.dev' site:

ping pub.dev
PING pub.dev ( 56(84) bytes of data.
64 bytes from any-in-2615.1e100.net ( icmp_seq=1 ttl=112 time=88.7 ms

Or using a dart package like dns

Access it using dio:

final dio = Dio(BaseOptions(
  baseUrl: '', // uses an IP address
  headers: <String, dynamic>{
    'host': 'pub.dev', // specifies the host name
))..httpClientAdapter = IoHttpClientAdapter(); // uses the customized adapter

final resp = await dio.head('/');