repo_description: ✨ Light and Fast AI Assistant. Support: Web | iOS | MacOS | Android |  Linux | Windows
repo_topics: calclaude chatgpt claude cross-platform desktop fe gemini gemini-pro gemini-server gemini-ultra gpt-4o groq nextjs ollama react tauri tauri-app vercel webui
code: import { ModelProvider } from "@/app/constant";
  import { prettyObject } from "@/app/utils/format";
  import { NextRequest, NextResponse } from "next/server";
  import { auth } from "./auth";
  import { requestOpenai } from "./common";
  
  export async function handle(
    req: NextRequest,
    { params }: { params: { path: string[] } },
  ) {
    console.log("[Azure Route] params ", params);
  
    if (req.method === "OPTIONS") {
      return NextResponse.json({ body: "OK" }, { status: 200 });
    }
  
    const subpath = params.path.join("/");
  
    const authResult = auth(req, ModelProvider.GPT);
    if (authResult.error) {
      return NextResponse.json(authResult, {
        status: 401,
      });
    }
  
    try {
      return await requestOpenai(req);
    } catch (e) {
      console.error("[Azure] ", e);
      return NextResponse.json(prettyObject(e));
    }
  }
  