Caching with Cloudflare Worker's stream response

I’m using Cloudflare Worker to do some authentication and stream files from my own origin like below:

addEventListener('fetch', event => {

async function fetchAndStream(request) {
  const { searchParams } = new URL(request.url)
  // Do some authentication with searchParams, e.g. searchParams.get('token')

  let response = await fetch(request);
  let { readable, writable } = new TransformStream();
  return new Response(readable, response);

Is there any sort of caching that I can do here to reduce the number of requests to my origin server? Can I make use of the Cache API ( Or would just setting cache headers like Cache-Control be enough? Thank you for your help!