Skip to content

Commit 53c91b5

Browse files
wardpeetDSchau
authored andcommitted
fix(gatsby-source-filesystem): fix unhandled rejection by returning promise chain (#14180)
1 parent e4b27b3 commit 53c91b5

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

packages/gatsby-source-filesystem/src/__tests__/create-remote-file-node.js

+19-1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ describe(`create-remote-file-node`, () => {
104104
pipe: jest.fn(() => gotMock),
105105
on: jest.fn((mockType, mockCallback) => {
106106
if (mockType === type) {
107+
// got throws on 404/500 so we mimic this behaviour
108+
if (response.statusCode === 404) {
109+
throw new Error(`Response code 404 (Not Found)`)
110+
}
111+
107112
mockCallback(response)
108113
}
109114

@@ -177,7 +182,7 @@ describe(`create-remote-file-node`, () => {
177182
)
178183
})
179184

180-
it(`passes custom http heades, if defined`, async () => {
185+
it(`passes custom http header, if defined`, async () => {
181186
await setup({
182187
httpHeaders: {
183188
Authorization: `Bearer foobar`,
@@ -193,6 +198,19 @@ describe(`create-remote-file-node`, () => {
193198
})
194199
)
195200
})
201+
202+
it(`fails when 404 is given`, async () => {
203+
expect.assertions(1)
204+
try {
205+
await setup({}, `response`, { statusCode: 404 })
206+
} catch (err) {
207+
expect(err).toEqual(
208+
expect.stringContaining(
209+
`failed to process https://images.whatever.com/real-image-trust-me`
210+
)
211+
)
212+
}
213+
})
196214
})
197215
})
198216

packages/gatsby-source-filesystem/src/create-remote-file-node.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,11 @@ module.exports = ({
345345
name,
346346
})
347347

348-
fileDownloadPromise.then(() => bar.tick())
348+
processingCache[url] = fileDownloadPromise.then(node => {
349+
bar.tick()
349350

350-
processingCache[url] = fileDownloadPromise
351-
return fileDownloadPromise
351+
return node
352+
})
353+
354+
return processingCache[url]
352355
}

0 commit comments

Comments
 (0)