Nutlope / twitterbio

Generate your Twitter bio with Mixtral and GPT-3.5.
https://www.twitterbio.io
MIT License
1.66k stars 465 forks source link

How to allow CORS #44

Open AshishBarvaliya opened 1 year ago

AshishBarvaliya commented 1 year ago

I tried implementing CORS based on the documentation provided in edge-functions-cors but unfortunately, it's not functioning as expected.

import { OpenAIStream } from "@/utils/OpenAIStream";
import cors from "@/utils/cors";
import { NextRequest } from "next/server";

export const config = {
  runtime: "edge",
};

const handler = async (req: NextRequest): Promise<Response> => {
  const { prompt } = (await req.json()) as {
    prompt?: string;
  };

  const payload = {
    model: "gpt-3.5-turbo",
    messages: [{ role: 'user', content: prompt }],
    temperature: 0.9,
    stream: true,
    // max_tokens: maxWordLimit,
  };

  const stream = await OpenAIStream(payload);

  return cors(req, new Response(stream, {
    headers: {
      'Content-Type': 'application/octet-stream',
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Headers': 'Content-Type',
    }
  }))
};

export default handler;