feat: add authenticated share publishing APIs
This commit is contained in:
@@ -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 });
|
||||
}
|
||||
Reference in New Issue
Block a user