feat: add authenticated share publishing APIs

This commit is contained in:
2026-08-16 00:50:55 +07:00 Unverified
parent b8e6389ac3
commit 5bf5d2a2c0
8 changed files with 407 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
export class ShareHttpError extends Error {
constructor(
message: string,
readonly status: number,
readonly retryAfter?: number
) {
super(message);
this.name = "ShareHttpError";
}
}
export function shareErrorResponse(error: unknown) {
const known = error instanceof ShareHttpError;
const status = known ? error.status : 500;
const message = known ? error.message : "Internal server error";
const headers = new Headers();
if (known && error.retryAfter) {
headers.set("Retry-After", String(error.retryAfter));
}
return Response.json({ success: false, error: message }, { status, headers });
}