Skip to content

Comments

Fixing defaults to use httpAdapter if available (#1285)#9

Open
MitchLewis930 wants to merge 1 commit intopr_029_beforefrom
pr_029_after
Open

Fixing defaults to use httpAdapter if available (#1285)#9
MitchLewis930 wants to merge 1 commit intopr_029_beforefrom
pr_029_after

Conversation

@MitchLewis930
Copy link

@MitchLewis930 MitchLewis930 commented Jan 30, 2026

PR_029


Note

Low Risk
Small, localized change to environment detection for adapter selection; risk is limited to edge runtimes where process/XMLHttpRequest are polyfilled differently.

Overview
Fixes default adapter detection so the http adapter is selected only when process exists and is actually a Node.js process ([object process]), and otherwise falls back to the XHR adapter when XMLHttpRequest is available.

This reorders the checks from “XHR first” to “Node-first with stricter guard”, reducing cases where bundlers/polyfills or non-Node runtimes incorrectly trigger the Node adapter.

Written by Cursor Bugbot for commit 0b3db5d. This will update automatically on new commits. Configure here.

* Fixing defaults to use httpAdapter if available
* Use a safer, cross-platform method to detect the Node environment
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

adapter = require('./adapters/xhr');
} else if (typeof process !== 'undefined') {
// Only Node.JS has a process variable that is of [[Class]] process
if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Detection check may fail on older Node.js versions

Medium Severity

The check Object.prototype.toString.call(process) === '[object process]' may not work on older Node.js versions (6.x, 8.x) where Symbol.toStringTag wasn't set on the process object. In those versions, Object.prototype.toString.call(process) returns '[object Object]', causing the condition to fail. Since XMLHttpRequest also doesn't exist in pure Node.js, the adapter variable remains undefined, which would break axios requests entirely on older Node.js runtimes.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant