diff --git a/packages/gatsby-source-filesystem/src/create-remote-file-node.js b/packages/gatsby-source-filesystem/src/create-remote-file-node.js index 6637283aa4d6a..1672372922ae1 100644 --- a/packages/gatsby-source-filesystem/src/create-remote-file-node.js +++ b/packages/gatsby-source-filesystem/src/create-remote-file-node.js @@ -132,7 +132,11 @@ async function pushToQueue(task, cb) { */ const requestRemoteNode = (url, headers, tmpFilename, filename) => new Promise((resolve, reject) => { - const responseStream = got.stream(url, { ...headers, timeout: 30000 }) + const responseStream = got.stream(url, { + ...headers, + timeout: 30000, + retries: 5, + }) const fsWriteStream = fs.createWriteStream(tmpFilename) responseStream.pipe(fsWriteStream) responseStream.on(`downloadProgress`, pro => console.log(pro)) @@ -140,7 +144,11 @@ const requestRemoteNode = (url, headers, tmpFilename, filename) => // If there's a 400/500 response or other error. responseStream.on(`error`, (error, body, response) => { fs.removeSync(tmpFilename) - reject({ error, body, response }) + reject(error) + }) + + fsWriteStream.on(`error`, error => { + reject(error) }) responseStream.on(`response`, response => {