XMLHttpRequest for Node.js that emulates the browser XMLHttpRequest object
Overall
score
75%
Local file GET support over file:// protocol
Async GET
100%
100%
Async completion
100%
100%
Missing file errors
100%
100%
Sync GET
100%
100%
UTF-8 text handling
100%
100%
Async HTTP requests for GET/POST/PUT/DELETE/HEAD
Async setup
100%
100%
Ready state
66%
100%
GET parsing
100%
100%
POST/PUT body
100%
100%
Header handling
100%
100%
HEAD headers
100%
100%
DELETE flow
100%
100%
Error handling
100%
0%
ReadyState lifecycle with readystatechange/load events
Native XHR
100%
100%
Async setup
100%
100%
State tracking
80%
100%
Load completion
75%
50%
Abort handling
100%
100%
Automatic redirect following for 301/302/303/307
XMLHttpRequest usage
0%
0%
Open/send flow
0%
0%
Built-in redirects
0%
0%
Redirect history
0%
100%
303 vs 307 semantics
0%
100%
Streaming progress via repeated LOADING callbacks
LOADING hook
100%
100%
Chunk updates
100%
90%
Single-chunk progress
100%
100%
Final completion
100%
100%
Abort handling
100%
100%
Request setup
100%
100%
Header blacklist override to allow forbidden headers
XMLHttpRequest usage
0%
46%
Disable header check
0%
50%
Set forbidden header
0%
52%
Restore guard
0%
53%
Blocked without override
33%
100%
Synchronous XHR requests via child process
Imports client
100%
100%
Synchronous open
100%
100%
Header usage
100%
100%
Response reading
100%
100%
Ordered sync loop
100%
100%
Custom event listener management through add/remove/dispatch
Start listeners
0%
20%
Listener removal
0%
20%
Completion dispatch
0%
0%
Abort handling
25%
40%
Listener ordering
0%
20%
Spec-compliant header setting and retrieval
XHR setup
100%
100%
Allowed headers
100%
100%
Default blocking
25%
25%
Override toggle
0%
60%
Response headers
80%
100%
Response handling with status/text and chunk-driven LOADING updates
Library wiring
100%
80%
LOADING chunks
100%
100%
Response aggregation
100%
100%
Status capture
53%
53%
Error responses
100%
100%
Bodyless handling
100%
100%
Install with Tessl CLI
npx tessl i tessl/npm-xmlhttprequest