No CDN cache when origin redirects

Hi,

I’m making a fetch to my origin in a Cloudflare Worker in the following way:

const url = addPathPrefix(event.request.url)
const init = { cf: { cacheEverything: true }, redirect: 'follow' }
const request = new Request(url, init)
event.respondWith(fetch(request))

The issue is that for paths the origin responds with a 302, the response is not cached (I see this from timing the response to my client). If the origin responds with 200 the first time then everything is fine. (The origin sets max-age=3600 for all 200 responses.)
I’m wondering if there is a way to fix this or if I should use the Cache API for requests with redirects.

Thanks

To clarify:

The issue is when the origin responds with a 302 which the worker then follows to a 200 that has a Cache-Control max-age=3600.

(can’t edit for some reason)