x-dr / chatgptProxyAPI

🔥 使用cloudflare 搭建免费的 OpenAI api代理 ,解决网络无法访问问题。支持流式输出
https://chatai.451024.xyz
MIT License
2.95k stars 678 forks source link

请问能否改成更加通用的版本?即不光是代理openai,甚至wikipedia,discord等,即用户想要好访问的目标地址,可以作为参数上传? 这是github copilot给的版本,帮忙看看是否能达到效果? #55

Closed dd-rongfa closed 12 months ago

dd-rongfa commented 1 year ago
async function handleRequest(request) {
      const url = new URL(request.url)
      let target = url.searchParams.get('target')

      if (!target) {
        return new Response('Target host is required', { status: 400 })
      }

      target = target.replace(/^https?:\/\//, '')

      const apiUrl = new URL(request.url)
      apiUrl.host = target

      const modifiedRequest = new Request(apiUrl, request)
      const response = await fetch(modifiedRequest)

      const modifiedResponse = new Response(response.body, response)
      modifiedResponse.headers.set('Access-Control-Allow-Origin', '*')

      return modifiedResponse
}

addEventListener('fetch', event => {
      event.respondWith(handleRequest(event.request))
})