From 63c1827c635cb497a0eacdbd818a58782b14c8ec Mon Sep 17 00:00:00 2001
From: Francis Levasseur <levasseur.fr@gmail.com>
Date: Fri, 29 Jan 2021 14:10:38 -0500
Subject: [PATCH] Fix expected response when there's a socket error (#3597)

In the case of a network issue, there's an error but no response, so no statusCode, This fixes it

Fixes #3594
---
 packages/less/src/less-node/url-file-manager.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/less/src/less-node/url-file-manager.js b/packages/less/src/less-node/url-file-manager.js
index fc3d9f322..21c75e640 100644
--- a/packages/less/src/less-node/url-file-manager.js
+++ b/packages/less/src/less-node/url-file-manager.js
@@ -27,8 +27,8 @@ UrlFileManager.prototype = Object.assign(new AbstractFileManager(), {
             const hackUrlStr = urlStr.indexOf('?') === -1 ? urlStr + '?' : urlStr
 
             request.get(hackUrlStr, { follow_max: 5 }, (err, resp, body) => {
-                if (err || resp.statusCode >= 400) {
-                    const message = resp.statusCode === 404
+                if (err || resp && resp.statusCode >= 400) {
+                    const message = resp && resp.statusCode === 404
                         ? `resource '${urlStr}' was not found\n`
                         : `resource '${urlStr}' gave this Error:\n  ${err || resp.statusMessage || resp.statusCode}\n`;
                     reject({ type: 'File', message });