tessl install tessl/npm-xmlhttprequest@1.8.0XMLHttpRequest for Node.js that emulates the browser XMLHttpRequest object
Agent Success
Agent success rate when using this tile
75%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.15x
Baseline
Agent success rate without this tile
65%
{
"context": "Evaluates whether the solution uses the xmlhttprequest package's event-driven lifecycle to track a GET request, capturing readyState transitions and completion handling. Focuses on correct constructor usage, asynchronous setup, lifecycle listeners, and abort behavior tied to readystatechange and load events.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Native XHR",
"description": "Instantiates the dependency's XMLHttpRequest (e.g., via require('xmlhttprequest').XMLHttpRequest) instead of fetch/http modules, ensuring work happens through the package.",
"max_score": 20
},
{
"name": "Async setup",
"description": "Calls open with the provided URL using async=true and then send() to start the GET so readyState advances through the expected lifecycle.",
"max_score": 15
},
{
"name": "State tracking",
"description": "Registers onreadystatechange or addEventListener('readystatechange') to push each readyState value into the log in order, covering the sequence 1->2->3->4 for a successful response.",
"max_score": 25
},
{
"name": "Load completion",
"description": "Attaches a load handler to resolve only when the request finishes, pulling status and responseText (not partial chunks) and avoiding resolution on intermediate readystatechange events.",
"max_score": 20
},
{
"name": "Abort handling",
"description": "Uses xhr.abort() to cancel an in-flight request, stops further state/load callbacks, and rejects or flags the operation without returning a final body.",
"max_score": 20
}
]
}