From ffdac61282e5c10981d110ce8fd76fcb6dabc19b Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 23:00:49 +0200 Subject: [PATCH] Fix undefined forEach error in tiny test --- packages/ddp-server/stream_server.js | 7 ++++--- packages/tinytest/tinytest_server.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index d1a68529d3..b931b86ec7 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -1,5 +1,3 @@ -var url = Npm.require('url'); - // By default, we use the permessage-deflate extension with default // configuration. If $SERVER_WEBSOCKET_COMPRESSION is set, then it must be valid // JSON. If it represents a falsey value, then we do not use permessage-deflate @@ -154,7 +152,7 @@ Object.assign(StreamServer.prototype, { // (meaning prior to any connect middlewares) so we need to take // an approach similar to overshadowListeners in // https://github.com/sockjs/sockjs-node/blob/cf820c55af6a9953e16558555a31decea554f70e/src/utils.coffee - ['request', 'upgrade'].forEach(function(event) { + ['request', 'upgrade'].forEach((event) => { var httpServer = WebApp.httpServer; var oldHttpServerListeners = httpServer.listeners(event).slice(0); httpServer.removeAllListeners(event); @@ -165,6 +163,9 @@ Object.assign(StreamServer.prototype, { // Store arguments for use within the closure below var args = arguments; + // TODO replace with url package + var url = Npm.require('url'); + // Rewrite /websocket and /websocket/ urls to /sockjs/websocket while // preserving query string. var parsedUrl = url.parse(request.url); diff --git a/packages/tinytest/tinytest_server.js b/packages/tinytest/tinytest_server.js index d20274a7f8..c43fb12b34 100644 --- a/packages/tinytest/tinytest_server.js +++ b/packages/tinytest/tinytest_server.js @@ -81,7 +81,7 @@ Meteor.methods({ 'tinytest/clearResults'(runId) { check(runId, String); - handlesForRun.get(runId).forEach(handle => { + handlesForRun.get(runId)?.forEach(handle => { // XXX this doesn't actually notify the client that it has been // unsubscribed. handle.stop();