jbilcke-hf's picture
jbilcke-hf HF staff
fix for UND_ERR_REQ_CONTENT_LENGTH_MISMATCH
0df1259
raw
history blame
1.04 kB
import { NextResponse, NextRequest } from "next/server"
import queryString from "query-string"
type SupportedExportFormat = "mp4" | "webm"
const defaultExportFormat = "mp4"
// we hide/wrap the micro-service under a unified AiTube API
export async function POST(req: NextRequest, res: NextResponse) {
const qs = queryString.parseUrl(req.url || "")
const query = (qs || {}).query
let format: SupportedExportFormat = defaultExportFormat
try {
format = decodeURIComponent(query?.f?.toString() || defaultExportFormat).trim() as SupportedExportFormat
if (format !== "mp4" && format !== "webm") {
format = defaultExportFormat
}
} catch (err) {}
// let's call our micro-service, which is currently open bar.
const result = await fetch(
`https://jbilcke-hf-ai-tube-clap-exporter.hf.space?f=${format}`,
{ method: "POST", body: await req.blob() }
)
const blob = await result.blob()
return new NextResponse(blob, {
status: 200,
headers: new Headers({ "content-type": `video/${format}` }),
})
}