yadongxie's picture
feat: add web
89682f8
import { NextRequest } from "next/server";
import { createClient } from "@vercel/kv";
const kv =
process.env?.KV_REST_API_URL && process.env?.KV_REST_API_TOKEN
? createClient({
url: process.env.KV_REST_API_URL,
token: process.env.KV_REST_API_TOKEN,
})
: null;
export async function POST(req: NextRequest) {
const { key, image } = await req.json();
if (!kv || !key || !image) {
return new Response("", {
status: 200,
});
}
const slug = key.replace(/[^a-zA-Z0-9]/g, "_");
await kv.set(slug, image);
return new Response("", {
status: 200,
});
}
export async function GET(req: NextRequest) {
const key = req.nextUrl.searchParams.get("share");
if (!kv || !key) {
return new Response("", {
status: 200,
});
}
const slug = key.replace(/[^a-zA-Z0-9]/g, "_");
const image = await kv.get<string>(slug);
if (!image) {
return new Response("", {
status: 200,
});
}
return new Response(image, {
status: 200,
});
}