diff --git a/__test__/url-helper.test.ts b/__test__/url-helper.test.ts
index 0c2c8d1..27f6606 100644
--- a/__test__/url-helper.test.ts
+++ b/__test__/url-helper.test.ts
@@ -1,5 +1,28 @@
 import * as urlHelper from '../src/url-helper'
 
+describe('getServerUrl tests', () => {
+  it('basics', async () => {
+    // Note that URL::toString will append a trailing / when passed just a domain name ...
+    expect(urlHelper.getServerUrl().toString()).toBe('https://github.com/')
+    expect(urlHelper.getServerUrl(' ').toString()).toBe('https://github.com/')
+    expect(urlHelper.getServerUrl('   ').toString()).toBe('https://github.com/')
+    expect(urlHelper.getServerUrl('http://contoso.com').toString()).toBe(
+      'http://contoso.com/'
+    )
+    expect(urlHelper.getServerUrl('https://contoso.com').toString()).toBe(
+      'https://contoso.com/'
+    )
+    expect(urlHelper.getServerUrl('https://contoso.com/').toString()).toBe(
+      'https://contoso.com/'
+    )
+
+    // ... but can't make that same assumption when passed an URL that includes some deeper path.
+    expect(urlHelper.getServerUrl('https://contoso.com/a/b').toString()).toBe(
+      'https://contoso.com/a/b'
+    )
+  })
+})
+
 describe('isGhes tests', () => {
   it('basics', async () => {
     expect(urlHelper.isGhes()).toBeFalsy()
diff --git a/dist/index.js b/dist/index.js
index 2b418c3..55ee37a 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -2455,13 +2455,13 @@ function getFetchUrl(settings) {
 }
 function getServerUrl(url) {
     let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com';
-    if (hasContent(url, false)) {
+    if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) {
         resolvedUrl = url;
     }
     return new url_1.URL(resolvedUrl);
 }
 function getServerApiUrl(url) {
-    if (hasContent(url, false)) {
+    if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) {
         let serverUrl = getServerUrl(url);
         if (isGhes(url)) {
             serverUrl.pathname = 'api/v3';
@@ -2482,14 +2482,20 @@ function isGhes(url) {
     return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost;
 }
 function pruneSuffix(text, suffix) {
-    if (hasContent(suffix, true) && (text === null || text === void 0 ? void 0 : text.endsWith(suffix))) {
+    if (hasContent(suffix, WhitespaceMode.AllowPureWhitespace) &&
+        (text === null || text === void 0 ? void 0 : text.endsWith(suffix))) {
         return text.substring(0, text.length - suffix.length);
     }
     return text;
 }
-function hasContent(text, allowPureWhitespace) {
+var WhitespaceMode;
+(function (WhitespaceMode) {
+    WhitespaceMode[WhitespaceMode["IgnorePureWhitespace"] = 0] = "IgnorePureWhitespace";
+    WhitespaceMode[WhitespaceMode["AllowPureWhitespace"] = 1] = "AllowPureWhitespace";
+})(WhitespaceMode || (WhitespaceMode = {}));
+function hasContent(text, whitespaceMode) {
     let refinedText = text !== null && text !== void 0 ? text : '';
-    if (!allowPureWhitespace) {
+    if (whitespaceMode == WhitespaceMode.IgnorePureWhitespace) {
         refinedText = refinedText.trim();
     }
     return refinedText.length > 0;
diff --git a/src/url-helper.ts b/src/url-helper.ts
index 5c4fcbd..47721da 100644
--- a/src/url-helper.ts
+++ b/src/url-helper.ts
@@ -22,7 +22,7 @@ export function getFetchUrl(settings: IGitSourceSettings): string {
 
 export function getServerUrl(url?: string): URL {
   let resolvedUrl = process.env['GITHUB_SERVER_URL'] || 'https://github.com'
-  if (hasContent(url, false)) {
+  if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) {
     resolvedUrl = url!
   }
 
@@ -30,7 +30,7 @@ export function getServerUrl(url?: string): URL {
 }
 
 export function getServerApiUrl(url?: string): string {
-  if (hasContent(url, false)) {
+  if (hasContent(url, WhitespaceMode.IgnorePureWhitespace)) {
     let serverUrl = getServerUrl(url)
     if (isGhes(url)) {
       serverUrl.pathname = 'api/v3'
@@ -58,18 +58,26 @@ export function isGhes(url?: string): boolean {
 }
 
 function pruneSuffix(text: string, suffix: string) {
-  if (hasContent(suffix, true) && text?.endsWith(suffix)) {
+  if (
+    hasContent(suffix, WhitespaceMode.AllowPureWhitespace) &&
+    text?.endsWith(suffix)
+  ) {
     return text.substring(0, text.length - suffix.length)
   }
   return text
 }
 
+enum WhitespaceMode {
+  IgnorePureWhitespace,
+  AllowPureWhitespace
+}
+
 function hasContent(
   text: string | undefined,
-  allowPureWhitespace: boolean
+  whitespaceMode: WhitespaceMode
 ): boolean {
   let refinedText = text ?? ''
-  if (!allowPureWhitespace) {
+  if (whitespaceMode == WhitespaceMode.IgnorePureWhitespace) {
     refinedText = refinedText.trim()
   }
   return refinedText.length > 0