feat: async task pipeline for media and llm workflows
这个提交包含在:
22
server/publicUrl.ts
普通文件
22
server/publicUrl.ts
普通文件
@@ -0,0 +1,22 @@
|
||||
import { ENV } from "./_core/env";
|
||||
|
||||
function hasProtocol(value: string) {
|
||||
return /^[a-z][a-z0-9+.-]*:\/\//i.test(value);
|
||||
}
|
||||
|
||||
export function toPublicUrl(pathOrUrl: string) {
|
||||
const value = pathOrUrl.trim();
|
||||
if (!value) {
|
||||
throw new Error("Public URL value is empty");
|
||||
}
|
||||
|
||||
if (hasProtocol(value)) {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (!ENV.appPublicBaseUrl) {
|
||||
throw new Error("APP_PUBLIC_BASE_URL is required for externally accessible asset URLs");
|
||||
}
|
||||
|
||||
return new URL(value.startsWith("/") ? value : `/${value}`, ENV.appPublicBaseUrl).toString();
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户