**To Reproduce**
Code snippet to reproduce, ideally that will work by pasting into something like https://npm.runkit.com/axios, a hosted solution, or a repository that illustrates the issue. 

```js
const axios = require("axios")

const url = 'https://stackoverflow.com/questions';

const {headers} = await axios.head(url, {
  headers: {'accept-encoding': 'gzip, deflate, br'}
});
```
You can run this in one click here https://runkit.com/embed/eocb5097ds6r
 
**Expected behavior**
Don't crush

**Environment:**
 - Node.js any version

**Solution:**
It require trivial fix similar to https://github.com/axios/axios/pull/1129
lib/adapters/http.js
if (config.timeout) {
      
      
      
      
      
      req.setTimeout(config.timeout, function handleRequestTimeout() {
        req.abort();
        reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));
      });
    }
    if (config.cancelToken) {
      
      config.cancelToken.promise.then(function onCanceled(cancel) {
        if (req.aborted) return;
        req.abort();
        reject(cancel);
      });
    }
    
    if (utils.isStream(data)) {
      data.on('error', function handleStreamError(err) {
        reject(enhanceError(err, config, null, req));
      }).pipe(req);
    } else {
      req.end(data);
    }
  });
};