refactor(media): share http error handling

This commit is contained in:
Peter Steinberger
2026-02-16 00:32:16 +00:00
parent d8691ff4ec
commit 652318e56a
4 changed files with 15 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
import path from "node:path";
import type { AudioTranscriptionRequest, AudioTranscriptionResult } from "../../types.js";
import { fetchWithTimeoutGuarded, normalizeBaseUrl, readErrorResponse } from "../shared.js";
import { assertOkOrThrowHttpError, fetchWithTimeoutGuarded, normalizeBaseUrl } from "../shared.js";
export const DEFAULT_OPENAI_AUDIO_BASE_URL = "https://api.openai.com/v1";
const DEFAULT_OPENAI_AUDIO_MODEL = "gpt-4o-mini-transcribe";
@@ -52,11 +52,7 @@ export async function transcribeOpenAiCompatibleAudio(
);
try {
if (!res.ok) {
const detail = await readErrorResponse(res);
const suffix = detail ? `: ${detail}` : "";
throw new Error(`Audio transcription failed (HTTP ${res.status})${suffix}`);
}
await assertOkOrThrowHttpError(res, "Audio transcription failed");
const payload = (await res.json()) as { text?: string };
const text = payload.text?.trim();