diff --git a/packages/insomnia-url/src/__tests__/protocol.test.js b/packages/insomnia-url/src/__tests__/protocol.test.js index 8ade52e69d..7b871e5c85 100644 --- a/packages/insomnia-url/src/__tests__/protocol.test.js +++ b/packages/insomnia-url/src/__tests__/protocol.test.js @@ -11,6 +11,11 @@ describe('setDefaultProtocol()', () => { expect(url).toBe('http://google.com'); }); + it('correctly sets protocol for padded domain', () => { + const url = setDefaultProtocol(' google.com '); + expect(url).toBe('http://google.com'); + }); + it('does not set for valid url', () => { const url = setDefaultProtocol('https://google.com'); expect(url).toBe('https://google.com'); diff --git a/packages/insomnia-url/src/protocol.js b/packages/insomnia-url/src/protocol.js index dece4f7fff..1576382816 100644 --- a/packages/insomnia-url/src/protocol.js +++ b/packages/insomnia-url/src/protocol.js @@ -5,17 +5,18 @@ * @returns {string} */ module.exports.setDefaultProtocol = function(url, defaultProto) { + const trimmedUrl = url.trim(); defaultProto = defaultProto || 'http:'; // If no url, don't bother returning anything - if (!url) { + if (!trimmedUrl) { return ''; } // Default the proto if it doesn't exist - if (url.indexOf('://') === -1) { - url = `${defaultProto}//${url}`; + if (trimmedUrl.indexOf('://') === -1) { + return `${defaultProto}//${trimmedUrl}`; } - return url; + return trimmedUrl; };