azure.ts 823 B

1234567891011121314151617181920212223242526272829303132
  1. import { ModelProvider } from "@/app/constant";
  2. import { prettyObject } from "@/app/utils/format";
  3. import { NextRequest, NextResponse } from "next/server";
  4. import { auth } from "./auth";
  5. import { requestOpenai } from "./common";
  6. export async function handle(
  7. req: NextRequest,
  8. { params }: { params: { path: string[] } },
  9. ) {
  10. console.log("[Azure Route] params ", params);
  11. if (req.method === "OPTIONS") {
  12. return NextResponse.json({ body: "OK" }, { status: 200 });
  13. }
  14. const subpath = params.path.join("/");
  15. const authResult = auth(req, ModelProvider.GPT);
  16. if (authResult.error) {
  17. return NextResponse.json(authResult, {
  18. status: 401,
  19. });
  20. }
  21. try {
  22. return await requestOpenai(req);
  23. } catch (e) {
  24. console.error("[Azure] ", e);
  25. return NextResponse.json(prettyObject(e));
  26. }
  27. }