undici
undici copied to clipboard
abortcontroller & request.clone issue with fetch
import { Request } from 'undici'
import { ok, strictEqual } from 'node:assert'
const controller = new AbortController();
const signal = controller.signal;
const request = new Request('http://a', { signal });
const clonedRequest = request.clone();
const log = [];
request.signal.addEventListener('abort', () => log.push('original-aborted'));
clonedRequest.signal.addEventListener('abort', () => log.push('clone-aborted'));
controller.abort();
strictEqual(log, ['original-aborted', 'clone-aborted'], "Abort events fired in correct order");
ok(request.signal.aborted, 'Signal aborted');
ok(clonedRequest.signal.aborted, 'Signal aborted');
cc @atlowChemi since you recently made a PR regarding abortcontroller, hopefully you can help. I don't know enough about EventTarget and order of events to fix this