#### 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
case 'deflate':
        
          stream = stream.pipe(zlib.createUnzip());
          
          delete res.headers['content-encoding'];
          break;
        }
      }
      var response = {
        status: res.statusCode,
        statusText: res.statusMessage,
        headers: res.headers,
        config: config,
        request: lastRequest
      };
      if (config.responseType === 'stream') {
        response.data = stream;
        settle(resolve, reject, response);
      } else {
        var responseBuffer = [];
        var totalResponseBytes = 0;
        stream.on('data', function handleStreamData(chunk) {
          responseBuffer.push(chunk);
          totalResponseBytes += chunk.length;
          
          if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
            
            rejected = true;
            stream.destroy();
            reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',