diff --git a/src/app/serverViewState.test.js b/src/app/serverViewState.test.js index 7a31846e23d..c5b11befe7a 100644 --- a/src/app/serverViewState.test.js +++ b/src/app/serverViewState.test.js @@ -437,8 +437,12 @@ describe('app/serverViewState', () => { expect(result.status).toBe(URLValidationStatus.Invalid); result = await serverViewState.handleServerURLValidation({}, 'http'); expect(result.status).toBe(URLValidationStatus.Invalid); + result = await serverViewState.handleServerURLValidation({}, 'HTTP'); + expect(result.status).toBe(URLValidationStatus.Invalid); result = await serverViewState.handleServerURLValidation({}, 'https'); expect(result.status).toBe(URLValidationStatus.Invalid); + result = await serverViewState.handleServerURLValidation({}, 'HTTPS'); + expect(result.status).toBe(URLValidationStatus.Invalid); result = await serverViewState.handleServerURLValidation({}, 'https:'); expect(result.status).toBe(URLValidationStatus.Invalid); result = await serverViewState.handleServerURLValidation({}, 'https:/'); diff --git a/src/app/serverViewState.ts b/src/app/serverViewState.ts index 83776fa36c6..658f086fa70 100644 --- a/src/app/serverViewState.ts +++ b/src/app/serverViewState.ts @@ -239,9 +239,9 @@ export class ServerViewState { let httpUrl = url; if (!isValidURL(url)) { // If it already includes the protocol, force it to HTTPS - if (isValidURI(url) && !url.startsWith('http')) { + if (isValidURI(url) && !url.toLowerCase().startsWith('http')) { httpUrl = url.replace(/^((.+):\/\/)?/, 'https://'); - } else if (!'https://'.startsWith(url) && !'http://'.startsWith(url)) { + } else if (!'https://'.startsWith(url.toLowerCase()) && !'http://'.startsWith(url.toLowerCase())) { // Check if they're starting to type `http(s)`, otherwise add HTTPS for them httpUrl = `https://${url}`; }