From 2bea4608fac6f3fa599e7f7da8502012ff313f5d Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Mon, 22 Oct 2018 20:32:53 -0700 Subject: [PATCH 1/2] Fix tests to use dynamic ports (#3177) --- test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs b/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs index 5895333d8f..e15e77a6dc 100644 --- a/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs +++ b/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs @@ -45,7 +45,8 @@ namespace Microsoft.AspNetCore.SignalR.Tests Assert.Equal("Unable to find the required services. Please add all the required services by calling " + "'IServiceCollection.AddSignalR' inside the call to 'ConfigureServices(...)' in the application startup code.", ex.Message); - }); + }) + .UseUrls("http://127.0.0.1:0"); using (var host = builder.Build()) { @@ -137,6 +138,7 @@ namespace Microsoft.AspNetCore.SignalR.Tests { app.UseSignalR(options => configure(options)); }) + .UseUrls("http://127.0.0.1:0") .Build(); } } From 63900a462bda5948da83f596167f777a06f22ece Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Tue, 23 Oct 2018 08:21:54 -0700 Subject: [PATCH 2/2] Use Node https module for https requests (#3171) --- clients/ts/signalr/src/NodeHttpClient.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/clients/ts/signalr/src/NodeHttpClient.ts b/clients/ts/signalr/src/NodeHttpClient.ts index 3412085dc8..b3a1071c35 100644 --- a/clients/ts/signalr/src/NodeHttpClient.ts +++ b/clients/ts/signalr/src/NodeHttpClient.ts @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. import * as http from "http"; +import * as https from "https"; import { URL } from "url"; import { AbortError, HttpError, TimeoutError } from "./Errors"; @@ -33,7 +34,12 @@ export class NodeHttpClient extends HttpClient { port: url.port, }; - const req = http.request(options, (res: http.IncomingMessage) => { + // "any" is used here because require() can't be correctly resolved by the compiler + // when httpOrHttps is typeof http | typeof https. Change to http when editing to get + // intellisense. + const httpOrHttps: any = url.protocol === "https" ? https : http; + + const req = httpOrHttps.request(options, (res: http.IncomingMessage) => { const data: Buffer[] = []; let dataLength = 0; res.on("data", (chunk: any) => { @@ -76,7 +82,7 @@ export class NodeHttpClient extends HttpClient { }); } - req.on("error", (e) => { + req.on("error", (e: Error) => { this.logger.log(LogLevel.Warning, `Error from HTTP request. ${e}`); reject(e); });