Skip to content

Commit

Permalink
Tests: Fix Karma tests on Node.js 20
Browse files Browse the repository at this point in the history
Node.js 20 started throwing errors when `writeHead` is called twice on
a response. This might have already been invalid before but it wasn't throwing
on Node.js 18.

Compute the headers object and call `writeHead` once to avoid the issue.

Closes gh-5397
  • Loading branch information
mgol authored Feb 8, 2024
1 parent b507c86 commit d478a1c
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions test/middleware-mockserver.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,7 @@ const mocks = {
headers[ "access-control-allow-origin" ] = "*";
}

if ( resp.set ) {
resp.set( headers );
} else {
for ( const key in headers ) {
resp.writeHead( 200, { [ key ]: headers[ key ] } );
}
}
resp.writeHead( 200, headers );

if ( req.query.callback ) {
resp.end( `${ cleanCallback( req.query.callback ) }(${ JSON.stringify( {
Expand All @@ -105,12 +99,14 @@ const mocks = {
);
},
json: function( req, resp ) {
const headers = {};
if ( req.query.header ) {
resp.writeHead( 200, { "content-type": "application/json" } );
headers[ "content-type" ] = "application/json";
}
if ( req.query.cors ) {
resp.writeHead( 200, { "access-control-allow-origin": "*" } );
headers[ "access-control-allow-origin" ] = "*";
}
resp.writeHead( 200, headers );
if ( req.query.array ) {
resp.end( JSON.stringify(
[ { name: "John", age: 21 }, { name: "Peter", age: 25 } ]
Expand Down

0 comments on commit d478a1c

Please sign in to comment.