{"adoption": {"forks": 484, "observed_at": "2026-08-28T04:07:07.409270+00:00", "stars": 2659}, "canonical_url": "https://ross.abutalabs.com/products/ajax-hook", "card": {"archived": false, "artifact_type": "library", "description": "Intercepting browser's http requests which made by XMLHttpRequest.", "domain": ["web-development", "frontend", "developer-tools", "apis"], "enriched": true, "function": ["http-client", "middleware", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "stable", "member_repos": ["wendux/ajax-hook"], "name": "wendux/ajax-hook", "platform": ["browser"], "pushed_at": "2023-09-24T07:12:58+00:00", "repo": "wendux/ajax-hook", "stars": 2659, "tags": ["xmlhttprequest", "ajax-interception", "request-hooking", "mocking", "es5-compatible", "web-server"], "topics": ["ajax", "ajax-hook", "xmlhttprequest-hook", "hooks"], "urls": [], "use_cases": ["intercept all XMLHttpRequest requests in the browser", "modify request config before it is sent", "mock or short-circuit ajax responses with handler.resolve", "log or inspect ajax responses and errors", "preprocess network requests inside a same-origin iframe", "build browser extensions or debugging tools that hook XHR traffic"], "what_it_is": "A lightweight JavaScript library that intercepts browser HTTP requests made via XMLHttpRequest, letting you hook into requests before they are sent, responses after they arrive, and errors when they occur. It works on any ES5-compatible browser without relying on ES6 Proxy, and can also intercept same-origin iframe requests.", "when_to_avoid": ["your app uses fetch or other non-XHR request APIs exclusively", "you need to intercept cross-origin iframe requests", "you need full network-layer interception rather than XHR object hooking"], "when_to_choose": ["you need to intercept or modify XHR-based ajax traffic in a browser environment", "you must support legacy ES5 browsers", "you want a tiny dependency-free hooking library with proxy/unProxy control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ajax-hook", "repo": "wendux/ajax-hook", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:07.409270+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:18:25.532814+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa3d553ab71dd6bb80327de7118113f17a47033ad764ed82bad07a0c6d238eb5", "fetched_at": "2026-08-28T04:07:07.409270+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wendux/ajax-hook"}, {"content_hash": "8229ae8798d22b4010040870b2fccfd7c430e25148fccb410d40b48e4e6a0147", "fetched_at": "2026-08-29T10:01:29.403751+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ajax-hook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3567, "days_push": 1074, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}