Accept /audio base URLs when validating ASR transcription endpoint
Some OpenAI-compatible deployments expose ASR under a base URL that already ends with /audio. ASR validation now treats that as a valid prefix and appends only /transcriptions to avoid generating /audio/audio/transcriptions. Constraint: Keep ASR validation URL normalization conservative and backwards-compatible Rejected: Full URL path rewrite heuristics | risk of breaking custom reverse-proxy layouts Confidence: high Scope-risk: narrow Tested: cargo test -q
This commit is contained in:
1 parent
73dbd4cef7
commit
fd60f815c0
1 file changed
+7
@@ -300,6 +300,9 @@ fn asr_transcriptions_url(base_url: &str) -> Result<String, String> {
|
||||
if trimmed.ends_with("/audio/transcriptions") {
|
||||
return Ok(trimmed.to_string());
|
||||
}
|
||||
if trimmed.ends_with("/audio") {
|
||||
return Ok(format!("{trimmed}/transcriptions"));
|
||||
}
|
||||
Ok(format!("{trimmed}/audio/transcriptions"))
|
||||
}
|
||||
|
||||
@@ -734,6 +737,10 @@ mod tests {
|
||||
asr_transcriptions_url("https://api.openai.com/v1").unwrap(),
|
||||
"https://api.openai.com/v1/audio/transcriptions"
|
||||
);
|
||||
assert_eq!(
|
||||
asr_transcriptions_url("https://api.openai.com/v1/audio").unwrap(),
|
||||
"https://api.openai.com/v1/audio/transcriptions"
|
||||
);
|
||||
assert_eq!(
|
||||
asr_transcriptions_url("https://api.openai.com/v1/audio/transcriptions").unwrap(),
|
||||
"https://api.openai.com/v1/audio/transcriptions"
|
||||
|
||||
Reference in new issue
Block a user