From b25e5a151054ba271974ac753d1e8610b244db16 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Thu, 18 Nov 2021 16:01:59 -0800 Subject: [PATCH] Reliably find unused port to start extension backend http service on We start extension backend http server with port 0, which creates flakes in flutter web tests. Find an unused port instead. Closes: https://github.com/dart-lang/webdev/issues/1450 --- dwds/CHANGELOG.md | 1 + dwds/lib/src/servers/extension_backend.dart | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index 17ec6b9c8..a5f3561ff 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -12,6 +12,7 @@ flutter tools and webdev. - Fix chrome detection in iPhone emulation mode in chrome or edge browsers. +- Reliably find unused port for extension backend http service. ## 11.4.0 diff --git a/dwds/lib/src/servers/extension_backend.dart b/dwds/lib/src/servers/extension_backend.dart index 85aba7668..54ee43694 100644 --- a/dwds/lib/src/servers/extension_backend.dart +++ b/dwds/lib/src/servers/extension_backend.dart @@ -8,7 +8,6 @@ import 'dart:async'; import 'dart:io'; import 'package:async/async.dart'; -import 'package:http_multi_server/http_multi_server.dart'; import 'package:logging/logging.dart'; import 'package:shelf/shelf.dart'; @@ -54,7 +53,7 @@ class ExtensionBackend { } return Response.notFound(''); }).add(_socketHandler.handler); - var server = await HttpMultiServer.bind(hostname, 0); + var server = await startHttpServer(hostname); serveHttpRequests(server, cascade.handler, (e, s) { _logger.warning('Error serving requests', e); emitEvent(DwdsEvent.httpRequestException('ExtensionBackend', '$e:$s'));