fix(adapters): improved adapters loading logic to have clear error messages;
Fixes #5844 ;
### Describe the bug

After upgrading axios from 1.4.0 to 1.5.0, tests that use network calls all fail consistently.

In my tests, I use Vitetest with Pretender intercepting network calls. None of my network tests pass with axios `1.5.0`. I get the following error messages:

```javascript
  code: 'ECONNREFUSED',
  errors: [
    Error: connect ECONNREFUSED 127.0.0.1:80
        at createConnectionError (node:net:1630:14)
        at afterConnectMultiple (node:net:1660:40) {
      errno: -61,
      code: 'ECONNREFUSED',
      syscall: 'connect',
      address: '127.0.0.1',
      port: 80
    },
    Error: connect ECONNREFUSED ::1:80
        at createConnectionError (node:net:1630:14)
        at afterConnectMultiple (node:net:1660:40) {
      errno: -61,
      code: 'ECONNREFUSED',
      syscall: 'connect',
      address: '::1',
      port: 80
    }
  ],
```

Can confirm this is from axios. Downgrading back to `1.4.0` resolves the problem. 


### To Reproduce

Using the last version of Pretender and an axios instance using v1.5.0, attempt to intercept a network call in a test environment, using Jest or Vitest.

### Code snippet

_No response_

### Expected behavior

Pretender should be able to intercept network calls in the test environment.

### Axios Version

1.5.0

### Adapter Version

_No response_

### Browser

_No response_

### Browser Version

_No response_

### Node.js Version

20.4.0

### OS

Mac OS 13.4

### Additional Library Versions

```bash
Pretender 3.4.7
React 18.2.0
```


### Additional context/Screenshots

```bash
I use axios by creating an instance within my own service class, like so:


  constructor(config = {}) {
    /** Configuration settings for the service instance */
    this.config = Object.assign(DEFAULT_CONFIG, config);
    
    /** Make axios send cookies withCredentials=true */
    this.ajax = axios.create({
      baseURL: this.baseURL, // a getter method that cleans strings from erroneous slashes
      withCredentials: this.config.withCredentials, // a boolean field
    });
    
    /** Set content type to json */
    this.ajax.defaults.headers.common['Content-Type'] = 'application/json';
  }


The test config for Vite has the baseURL set to `/`. Pretender doesn't allow you to set a URL path. These configurations have not changed. 

Pretender doesn't have much for the config, it's just `new Pretender` instance.
```

Tests No Longer Passing since Upgrading to v1.5.0
diff --git a/lib/adapters/adapters.js b/lib/adapters/adapters.js
index e31fca1203..550997d8c7 100644
--- a/lib/adapters/adapters.js
+++ b/lib/adapters/adapters.js
@@ -9,7 +9,7 @@ const knownAdapters = {
 }
 
 utils.forEach(knownAdapters, (fn, value) => {
-  if(fn) {
+  if (fn) {
     try {
       Object.defineProperty(fn, 'name', {value});
     } catch (e) {
@@ -19,6 +19,10 @@ utils.forEach(knownAdapters, (fn, value) => {
   }
 });
 
+const renderReason = (reason) => `- ${reason}`;
+
+const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
+
 export default {
   getAdapter: (adapters) => {
     adapters = utils.isArray(adapters) ? adapters : [adapters];
@@ -27,30 +31,44 @@ export default {
     let nameOrAdapter;
     let adapter;
 
+    const rejectedReasons = {};
+
     for (let i = 0; i < length; i++) {
       nameOrAdapter = adapters[i];
-      if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {
+      let id;
+
+      adapter = nameOrAdapter;
+
+      if (!isResolvedHandle(nameOrAdapter)) {
+        adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
+
+        if (adapter === undefined) {
+          throw new AxiosError(`Unknown adapter '${id}'`);
+        }
+      }
+
+      if (adapter) {
         break;
       }
+
+      rejectedReasons[id || '#' + i] = adapter;
     }
 
     if (!adapter) {
-      if (adapter === false) {
-        throw new AxiosError(
-          `Adapter ${nameOrAdapter} is not supported by the environment`,
-          'ERR_NOT_SUPPORT'
+
+      const reasons = Object.entries(rejectedReasons)
+        .map(([id, state]) => `adapter ${id} ` +
+          (state === false ? 'is not supported by the environment' : 'is not available in the build')
         );
-      }
 
-      throw new Error(
-        utils.hasOwnProp(knownAdapters, nameOrAdapter) ?
-          `Adapter '${nameOrAdapter}' is not available in the build` :
-          `Unknown adapter '${nameOrAdapter}'`
-      );
-    }
+      let s = length ?
+        (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) :
+        'as no adapter specified';
 
-    if (!utils.isFunction(adapter)) {
-      throw new TypeError('adapter is not a function');
+      throw new AxiosError(
+        `There is no suitable adapter to dispatch the request ` + s,
+        'ERR_NOT_SUPPORT'
+      );
     }
 
     return adapter;
diff --git a/lib/defaults/index.js b/lib/defaults/index.js
index 27c71b45e6..a883bfe5c5 100644
--- a/lib/defaults/index.js
+++ b/lib/defaults/index.js
@@ -37,7 +37,7 @@ const defaults = {
 
   transitional: transitionalDefaults,
 
-  adapter: platform.isNode ? 'http' : 'xhr',
+  adapter: ['xhr', 'http'],
 
   transformRequest: [function transformRequest(data, headers) {
     const contentType = headers.getContentType() || '';

diff --git a/test/unit/adapters/adapters.js b/test/unit/adapters/adapters.js
new file mode 100644
index 0000000000..f0d01393be
--- /dev/null
+++ b/test/unit/adapters/adapters.js
@@ -0,0 +1,48 @@
+import adapters from '../../../lib/adapters/adapters.js';
+import assert from 'assert';
+
+
+describe('adapters', function () {
+  const store = {...adapters.adapters};
+
+  beforeEach(() => {
+    Object.keys(adapters.adapters).forEach((name) => {
+      delete adapters.adapters[name];
+    });
+
+    Object.assign(adapters.adapters, store);
+  });
+
+  it('should support loading by fn handle', function () {
+    const adapter = () => {};
+    assert.strictEqual(adapters.getAdapter(adapter), adapter);
+  });
+
+  it('should support loading by name', function () {
+    const adapter = () => {};
+    adapters.adapters['testadapter'] = adapter;
+    assert.strictEqual(adapters.getAdapter('testAdapter'), adapter);
+  });
+
+  it('should detect adapter unavailable status', function () {
+    adapters.adapters['testadapter'] = null;
+    assert.throws(()=> adapters.getAdapter('testAdapter'), /is not available in the build/)
+  });
+
+  it('should detect adapter unsupported status', function () {
+    adapters.adapters['testadapter'] = false;
+    assert.throws(()=> adapters.getAdapter('testAdapter'), /is not supported by the environment/)
+  });
+
+  it('should pick suitable adapter from the list', function () {
+    const adapter = () => {};
+
+    Object.assign(adapters.adapters, {
+      foo: false,
+      bar: null,
+      baz: adapter
+    });
+
+    assert.strictEqual(adapters.getAdapter(['foo', 'bar', 'baz']), adapter);
+  });
+});

{"should detect adapter unavailable status": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"should support requesting data URL as a Blob (if supported by the environment)": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should re-evaluate proxy on redirect when proxy set via env var": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support HTTP proxy auth": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support HTTPS proxy set via env var": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return buffer from data uri": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "hostname and no trailing colon in protocol": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not use proxy for domains in no_proxy": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "does not parse undefined": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should convert to a plain object without circular references": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should use objects with defined toJSON method without rebuilding": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should pass errors for a failed stream": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should delete the header": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support proxy auth with header": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should able to cancel multiple requests with CancelToken": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support HTTPS proxies": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "parses json": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return true if the header is defined, otherwise false": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should be caseless": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support headers array": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should concatenate plain headers into an AxiosHeader instance": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should concatenate Axios headers into a new AxiosHeader instance": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support requesting data URL as a Buffer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should detect custom FormData instances by toStringTag signature and append method presence": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should validate Buffer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return unsupported protocol": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return headers object with original headers case": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support adding a single header": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not call toString method on built-in objects instances, even if append method exists": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not pass through disabled proxy": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support loading by fn handle": {"run": "NONE", "test": "PASS", "fix": "PASS"}, "should support get accessor": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "does not parse the empty string": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should parse protocol part if it exists": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "obeys proxy settings when following redirects": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not call toString method on built-in objects instances": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support external defined values": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "only host and https protocol": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support beforeRedirect and proxy with redirect": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return true if the header has been deleted, otherwise false": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support requesting data URL as a Stream": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should detect the FormData instance provided by the `form-data` package": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support array values": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "hostname and trailing colon in protocol": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support loading by name": {"run": "NONE", "test": "PASS", "fix": "PASS"}, "should properly handle synchronous errors inside the adapter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should use proxy for domains not in no_proxy": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not fail with query parsing": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support headers argument": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should validate Stream": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not rewrite the header if its value is false, unless rewrite options is set to true": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should concatenate raw headers into an AxiosHeader instance": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support RegExp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should not rewrite header the header if the value is false": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support set accessor": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support gunzip error handling": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support max body length": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "ignores XML": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support requesting data URL as a String": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support proxy auth from env": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support function": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support string pattern": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should display error while parsing params": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should throw an error if the timeout property is not parsable as a number": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support HTTP proxies": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support uppercase name mapping for names overlapped by class methods": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support proxy set via env var": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support adding multiple headers from raw headers string": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support auto-formatting": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support sockets": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should return malformed URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should support adding multiple headers": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should clear all headers": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should detect adapter unsupported status": {"run": "NONE", "test": "PASS", "fix": "PASS"}, "should support has accessor": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should clear matching headers if a matcher was specified": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "both hostname and host -> hostname takes precedence": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "should pick suitable adapter from the list": {"run": "NONE", "test": "PASS", "fix": "PASS"}, "should serialize AxiosHeader instance to a raw headers string": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"should detect adapter unavailable status": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"passed_count": 74, "failed_count": 52, "skipped_count": 0, "passed_tests": ["should support requesting data URL as a Blob (if supported by the environment)", "should support beforeRedirect and proxy with redirect", "should re-evaluate proxy on redirect when proxy set via env var", "should support requesting data URL as a String", "should detect custom FormData instances by toStringTag signature and append method presence", "should support HTTP proxy auth", "should validate Buffer", "should return unsupported protocol", "should support proxy auth from env", "should support HTTPS proxy set via env var", "should support requesting data URL as a Stream", "should return true if the header has been deleted, otherwise false", "should return headers object with original headers case", "should support function", "should support string pattern", "should display error while parsing params", "should support adding a single header", "should throw an error if the timeout property is not parsable as a number", "should return buffer from data uri", "should detect the FormData instance provided by the `form-data` package", "should not call toString method on built-in objects instances, even if append method exists", "should support HTTP proxies", "should support array values", "hostname and trailing colon in protocol", "should properly handle synchronous errors inside the adapter", "should use proxy for domains not in no_proxy", "should not pass through disabled proxy", "hostname and no trailing colon in protocol", "should support get accessor", "does not parse the empty string", "should not fail with query parsing", "should not use proxy for domains in no_proxy", "should support headers argument", "should support uppercase name mapping for names overlapped by class methods", "does not parse undefined", "should support proxy set via env var", "should support adding multiple headers from raw headers string", "should pass errors for a failed stream", "should support auto-formatting", "should delete the header", "should convert to a plain object without circular references", "should validate Stream", "should support sockets", "should return malformed URL", "should support adding multiple headers", "should support proxy auth with header", "should able to cancel multiple requests with CancelToken", "should not rewrite the header if its value is false, unless rewrite options is set to true", "should clear all headers", "should concatenate raw headers into an AxiosHeader instance", "should parse protocol part if it exists", "obeys proxy settings when following redirects", "should use objects with defined toJSON method without rebuilding", "should support RegExp", "should support HTTPS proxies", "should support has accessor", "parses json", "should return true if the header is defined, otherwise false", "should clear matching headers if a matcher was specified", "should be caseless", "both hostname and host -> hostname takes precedence", "should not rewrite header the header if the value is false", "should support headers array", "should not call toString method on built-in objects instances", "should concatenate plain headers into an AxiosHeader instance", "should support set accessor", "should support gunzip error handling", "should support max body length", "should support external defined values", "ignores XML", "only host and https protocol", "should concatenate Axios headers into a new AxiosHeader instance", "should support requesting data URL as a Buffer", "should serialize AxiosHeader instance to a raw headers string"], "failed_tests": ["should not fail with an empty response with content-length header", "should parse the timeout property", "should post object data as url-encoded form if content-type is application/x-www-form-urlencoded", "should support decompression", "should properly support default max body length (follow-redirects as well)", "should support transparent gunzip", "should respect formSerializer config", "should support Blob", "should support download progress capturing", "issues", "should combine baseURL and url", "should be able to abort the response stream", "should allow passing JSON with BOM", "should support custom DNS lookup function", "should support HTTP protocol", "should support max content length for redirected", "should support max redirects", "should preserve the HTTP verb on redirect", "should allow the User-Agent header to be overridden", "should support disabling automatic decompression of response data", "should respect the timeoutErrorMessage property", "should supply a user-agent if one is not specified", "should allow passing FormData", "should support buffers", "should support cancel", "should support download rate limit", "should support function as paramsSerializer value", "should not fail with chunked responses (without Content-Length header)", "should properly serialize nested objects for parsing with multer.js (express.js)", "should support custom DNS lookup function that returns only IP address", "should support basic auth", "should support upload progress capturing", "should support basic auth with a header", "should respect the timeout property", "supports http with nodejs", "should throw an error if http server that aborts a chunked request", "should provides a default User-Agent header", "should support beforeRedirect", "should support HTTPS protocol", "should not fail if response content-length header is missing", "should not redirect", "should handle set-cookie headers as an array", "should support UTF8", "should support streams", "should allow the Content-Length header to be overridden", "should redirect", "should support upload rate limit", "should support max content length", "should destroy the response stream with an error on request stream destroying", "should allow passing JSON", "should omit a user-agent if one is explicitly disclaimed", "should not fail with an empty response without content-length header"], "skipped_tests": []}
{"passed_count": 78, "failed_count": 54, "skipped_count": 0, "passed_tests": ["should support requesting data URL as a Blob (if supported by the environment)", "should re-evaluate proxy on redirect when proxy set via env var", "should support HTTP proxy auth", "should support HTTPS proxy set via env var", "should return buffer from data uri", "hostname and no trailing colon in protocol", "should not use proxy for domains in no_proxy", "does not parse undefined", "should convert to a plain object without circular references", "should use objects with defined toJSON method without rebuilding", "should pass errors for a failed stream", "should delete the header", "should support proxy auth with header", "should able to cancel multiple requests with CancelToken", "should support HTTPS proxies", "parses json", "should return true if the header is defined, otherwise false", "should be caseless", "should support headers array", "should concatenate plain headers into an AxiosHeader instance", "should concatenate Axios headers into a new AxiosHeader instance", "should support requesting data URL as a Buffer", "should detect custom FormData instances by toStringTag signature and append method presence", "should validate Buffer", "should return unsupported protocol", "should return headers object with original headers case", "should support adding a single header", "should not call toString method on built-in objects instances, even if append method exists", "should not pass through disabled proxy", "should support loading by fn handle", "should support get accessor", "does not parse the empty string", "should parse protocol part if it exists", "obeys proxy settings when following redirects", "should not call toString method on built-in objects instances", "should support external defined values", "only host and https protocol", "should support beforeRedirect and proxy with redirect", "should return true if the header has been deleted, otherwise false", "should support requesting data URL as a Stream", "should detect the FormData instance provided by the `form-data` package", "should support array values", "hostname and trailing colon in protocol", "should support loading by name", "should properly handle synchronous errors inside the adapter", "should use proxy for domains not in no_proxy", "should not fail with query parsing", "should support headers argument", "should validate Stream", "should not rewrite the header if its value is false, unless rewrite options is set to true", "should concatenate raw headers into an AxiosHeader instance", "should support RegExp", "should not rewrite header the header if the value is false", "should support set accessor", "should support gunzip error handling", "should support max body length", "ignores XML", "should support requesting data URL as a String", "should support proxy auth from env", "should support function", "should support string pattern", "should display error while parsing params", "should throw an error if the timeout property is not parsable as a number", "should support HTTP proxies", "should support uppercase name mapping for names overlapped by class methods", "should support proxy set via env var", "should support adding multiple headers from raw headers string", "should support auto-formatting", "should support sockets", "should return malformed URL", "should support adding multiple headers", "should clear all headers", "should detect adapter unsupported status", "should support has accessor", "should clear matching headers if a matcher was specified", "both hostname and host -> hostname takes precedence", "should pick suitable adapter from the list", "should serialize AxiosHeader instance to a raw headers string"], "failed_tests": ["should not fail with an empty response with content-length header", "should parse the timeout property", "should post object data as url-encoded form if content-type is application/x-www-form-urlencoded", "should support decompression", "should properly support default max body length (follow-redirects as well)", "should support transparent gunzip", "should respect formSerializer config", "should support Blob", "should support download progress capturing", "issues", "should combine baseURL and url", "should be able to abort the response stream", "adapters", "should allow passing JSON with BOM", "should support custom DNS lookup function", "should support HTTP protocol", "should support max content length for redirected", "should support max redirects", "should preserve the HTTP verb on redirect", "should allow the User-Agent header to be overridden", "should support disabling automatic decompression of response data", "should respect the timeoutErrorMessage property", "should supply a user-agent if one is not specified", "should allow passing FormData", "should support buffers", "should support cancel", "should support download rate limit", "should support function as paramsSerializer value", "should not fail with chunked responses (without Content-Length header)", "should properly serialize nested objects for parsing with multer.js (express.js)", "should support custom DNS lookup function that returns only IP address", "should support basic auth", "should support upload progress capturing", "should support basic auth with a header", "should respect the timeout property", "supports http with nodejs", "should throw an error if http server that aborts a chunked request", "should detect adapter unavailable status", "should provides a default User-Agent header", "should support beforeRedirect", "should support HTTPS protocol", "should not fail if response content-length header is missing", "should not redirect", "should handle set-cookie headers as an array", "should support UTF8", "should support streams", "should allow the Content-Length header to be overridden", "should redirect", "should support upload rate limit", "should support max content length", "should destroy the response stream with an error on request stream destroying", "should allow passing JSON", "should omit a user-agent if one is explicitly disclaimed", "should not fail with an empty response without content-length header"], "skipped_tests": []}
{"passed_count": 79, "failed_count": 52, "skipped_count": 0, "passed_tests": ["should support requesting data URL as a Blob (if supported by the environment)", "should re-evaluate proxy on redirect when proxy set via env var", "should support HTTP proxy auth", "should support HTTPS proxy set via env var", "should return buffer from data uri", "hostname and no trailing colon in protocol", "should not use proxy for domains in no_proxy", "does not parse undefined", "should convert to a plain object without circular references", "should use objects with defined toJSON method without rebuilding", "should pass errors for a failed stream", "should delete the header", "should support proxy auth with header", "should able to cancel multiple requests with CancelToken", "should support HTTPS proxies", "parses json", "should return true if the header is defined, otherwise false", "should be caseless", "should support headers array", "should concatenate plain headers into an AxiosHeader instance", "should concatenate Axios headers into a new AxiosHeader instance", "should support requesting data URL as a Buffer", "should detect custom FormData instances by toStringTag signature and append method presence", "should validate Buffer", "should return unsupported protocol", "should return headers object with original headers case", "should support adding a single header", "should not call toString method on built-in objects instances, even if append method exists", "should not pass through disabled proxy", "should support loading by fn handle", "should support get accessor", "does not parse the empty string", "should parse protocol part if it exists", "obeys proxy settings when following redirects", "should detect adapter unavailable status", "should not call toString method on built-in objects instances", "should support external defined values", "only host and https protocol", "should support beforeRedirect and proxy with redirect", "should return true if the header has been deleted, otherwise false", "should support requesting data URL as a Stream", "should detect the FormData instance provided by the `form-data` package", "should support array values", "hostname and trailing colon in protocol", "should support loading by name", "should properly handle synchronous errors inside the adapter", "should use proxy for domains not in no_proxy", "should not fail with query parsing", "should support headers argument", "should validate Stream", "should not rewrite the header if its value is false, unless rewrite options is set to true", "should concatenate raw headers into an AxiosHeader instance", "should support RegExp", "should not rewrite header the header if the value is false", "should support set accessor", "should support gunzip error handling", "should support max body length", "ignores XML", "should support requesting data URL as a String", "should support proxy auth from env", "should support function", "should support string pattern", "should display error while parsing params", "should throw an error if the timeout property is not parsable as a number", "should support HTTP proxies", "should support uppercase name mapping for names overlapped by class methods", "should support proxy set via env var", "should support adding multiple headers from raw headers string", "should support auto-formatting", "should support sockets", "should return malformed URL", "should support adding multiple headers", "should clear all headers", "should detect adapter unsupported status", "should support has accessor", "should clear matching headers if a matcher was specified", "both hostname and host -> hostname takes precedence", "should pick suitable adapter from the list", "should serialize AxiosHeader instance to a raw headers string"], "failed_tests": ["should not fail with an empty response with content-length header", "should parse the timeout property", "should post object data as url-encoded form if content-type is application/x-www-form-urlencoded", "should support decompression", "should properly support default max body length (follow-redirects as well)", "should support transparent gunzip", "should respect formSerializer config", "should support Blob", "should support download progress capturing", "issues", "should combine baseURL and url", "should be able to abort the response stream", "should allow passing JSON with BOM", "should support custom DNS lookup function", "should support HTTP protocol", "should support max content length for redirected", "should support max redirects", "should preserve the HTTP verb on redirect", "should allow the User-Agent header to be overridden", "should support disabling automatic decompression of response data", "should respect the timeoutErrorMessage property", "should supply a user-agent if one is not specified", "should allow passing FormData", "should support buffers", "should support cancel", "should support download rate limit", "should support function as paramsSerializer value", "should not fail with chunked responses (without Content-Length header)", "should properly serialize nested objects for parsing with multer.js (express.js)", "should support custom DNS lookup function that returns only IP address", "should support basic auth", "should support upload progress capturing", "should support basic auth with a header", "should respect the timeout property", "supports http with nodejs", "should throw an error if http server that aborts a chunked request", "should provides a default User-Agent header", "should support beforeRedirect", "should support HTTPS protocol", "should not fail if response content-length header is missing", "should not redirect", "should handle set-cookie headers as an array", "should support UTF8", "should support streams", "should allow the Content-Length header to be overridden", "should redirect", "should support upload rate limit", "should support max content length", "should destroy the response stream with an error on request stream destroying", "should allow passing JSON", "should omit a user-agent if one is explicitly disclaimed", "should not fail with an empty response without content-length header"], "skipped_tests": []}