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 }); }