Beispiel
Dynamically reload or replace an Express router without leaking memory.
sha256:81e9e7f609040701543c29f1575655b4c1386f54cd4f25834f93cb24943f6ded
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Dynamically reload or replace an Express router without leaking memory. HOW
- Pakete
- express 5.2.1
- Umgebung
- node
- Erstellt
- 2026-08-17T01:50:40Z
Häufige Annahme
Calling app.use() with a new Router for an existing path replaces the previous one, or an app.unuse() method exists to remove it.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert.strictEqual(app.router.stack.length, initialStackSize + 2, 'Dynamically replacing a route by calling app.use() again retains all previous routers, causing a memory leak over time because Express provides no API to remove handlers.')
- assert.strictEqual(app.unuse, undefined, 'Express provides no app.unuse() API to remove handlers.')
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9