async_hooks: fixup do not reuse HTTPParser by Flarna · Pull Request #27477 · nodejs/node (original) (raw)
Fix some issues introduced/not fixed via
#25094:
- Init hook is not emitted for a reused HTTPParser
- HTTPParser was still used as resource in init hook
- type used in init hook was always HTTPINCOMINGMESSAGE even for client
requests - some tests have not been adapted to new resource names
With this change the async hooks init event is emitted during a call
to Initialize() as the type and resource object is available at this
time. As a result Initialize() must be called now which could be seen
as breaking change even HTTPParser is not part of documented API.
It was needed to put the ClientRequest instance into a wrapper object
instead passing it directly as async resource otherwise
test-domain-multi fails. I think this is because adding an EventEmitter
to a Domain adds a property 'domain' and the presence of this changes
the context propagation in domains.
Besides that tests still refering to resource HTTPParser have been
updated/improved.
Fixes: #27467
Fixes: #26961
Refs: #25094
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes- tests and/or benchmarks are included
- commit message follows commit guidelines