vercel搭建跨域API
使用 vercel edge function
export const runtime = 'edge';
async function handleRequest(req: Request) {
const url = new URL(req.url);
const targetUrl = decodeURIComponent(url.search).slice(1);
const reqInit: RequestInit & { duplex?: string } = {
headers: req.headers,
method: req.method,
body: req.body,
redirect: 'follow',
duplex: 'half'
};
const modifiedRequest = new Request(targetUrl, reqInit);
const resp = await fetch(modifiedRequest);
return new Response(resp.body, {
status: resp.status,
statusText: resp.statusText,
headers: new Headers({
...resp.headers,
'Cache-Control': 'no-store',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
}),
});
}
export const GET = handleRequest;
export const POST = handleRequest;
export const PUT = handleRequest;
export const DELETE = handleRequest;
export const PATCH = handleRequest;
export const OPTIONS = handleRequest;
保存为 vap.ts
(名称随意)
API地址: <域名>/api/<保存名称>?<目标URL>
评论已关闭