#### Describe the bug

maxBodyLength does not work with disabled redirects like when using `{ maxRedirects: 0, maxBodyLength: 100 }` in options.

#### To Reproduce

```js
require("axios")
	.put("http://www.example.com", Buffer.alloc(1000), { maxRedirects: 0, maxBodyLength: 100 })
	.catch(e => console.log("axios returned error:", e));
```

#### Expected behavior

It should print something like:
```
axios returned error: Error [ERR_FR_MAX_BODY_LENGTH_EXCEEDED]: Request body larger than maxBodyLength limit
...
```

As this example does:
```js
require("axios")
	.put("http://www.example.com", Buffer.alloc(1000), { maxBodyLength: 100 })
	.catch(e => console.log("axios returned error:", e));
```

#### Environment
 - Axios Version 0.21.1
 - Adapter HTTP
 - Node.js Version v15.12.0

#### Additional context/Screenshots

lib/adapters/http.js
reject(enhanceError(err, config, null, req));
    });
    
    req.on('socket', function handleRequestSocket(socket) {
      
      socket.setKeepAlive(true, 1000 * 60);
    });
    
    if (config.timeout) {
      
      var timeout = parseInt(config.timeout, 10);
      if (isNaN(timeout)) {
        reject(createError(
          'error trying to parse `config.timeout` to int',
          config,
          'ERR_PARSE_TIMEOUT',
          req
        ));
        return;
      }
      
      
      
      
      
      req.setTimeout(timeout, function handleRequestTimeout() {
        req.abort();
        var transitional = config.transitional || defaults.transitional;
        reject(createError(
          'timeout of ' + timeout + 'ms exceeded',