23 lines
570 B
TypeScript

import { AwsClient } from "aws4fetch";
export async function onRequestGet(context: RequestContext) {
const attachment = (context.params.id as string[]).join("/");
const aws = new AwsClient({
accessKeyId: context.env.R2_ACCESS_KEY,
secretAccessKey: context.env.R2_SECRET_KEY,
});
return Response.redirect(
(
await aws.sign(
`https://car-crushers.${context.env.R2_ZONE}.r2.cloudflarestorage.com/${attachment}?X-Amz-Expires=1800`,
{
aws: {
signQuery: true,
},
},
)
).url,
);
}