Hi axios maintainers,

I'm the maintainer of follow-redirects. According to npm numbers (https://www.npmjs.com/package/axios, https://www.npmjs.com/package/follow-redirects), more than half of follow-redirects usage goes via axios. That is also apparent from several [bug reports](https://github.com/follow-redirects/follow-redirects/issues?q=axios) I received (and which I'm very happy about).

So if there are issues such as https://github.com/axios/axios/pull/1993 or https://github.com/axios/axios/pull/2689, it's probably best to ping us about it at https://github.com/follow-redirects/follow-redirects/issues/new. I'm very happy to fix. Pinning to an old version of follow-redirects will just expose you to bugs.

Please let me know how I can help.

CC: @grumblerchester @emilyemorehouse @realityking @chinesedfan
lib/adapters/http.js
}
    if (data && !utils.isStream(data)) {
      if (Buffer.isBuffer(data)) {
        
      } else if (utils.isArrayBuffer(data)) {
        data = Buffer.from(new Uint8Array(data));
      } else if (utils.isString(data)) {
        data = Buffer.from(data, 'utf-8');
      } else {
        return reject(createError(
          'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',
          config
        ));
      }
      
      headers['Content-Length'] = data.length;
    }
    
    var auth = undefined;
    if (config.auth) {
      var username = config.auth.username || '';
      var password = config.auth.password || '';
      auth = username + ':' + password;
    }
    
    var fullPath = buildFullPath(config.baseURL, config.url);
    var parsed = url.parse(fullPath);
    var protocol = parsed.protocol || 'http:';
    if (!auth && parsed.auth) {
      var urlAuth = parsed.auth.split(':');