new Response(csv, { headers }) with a content-disposition header.
Return web-standard responses
Besides JSX, strings, buffers and JSON, a route can return a standard Response object. Status, headers and body are taken from it. This makes it easy to reuse code written for other web-standard runtimes or to proxy a fetch call straight through.
Response.json(data) sets body and content type in one go.
new Response(null, { status: 303, headers }) sends the browser back here.
new Response(body, { status: 418 }) for any status code.
fetch(url) passes a remote response through, cached for five minutes.