[READ ONLY MIRROR] Spark Social AppView Server
github.com/sprksocial/server
atproto
deno
hono
lexicon
1import { createRetryable } from "@atp/common";
2import { ResponseType, XRPCError } from "@atp/xrpc";
3
4export const RETRYABLE_HTTP_STATUS_CODES = new Set([
5 408,
6 425,
7 429,
8 500,
9 502,
10 503,
11 504,
12 522,
13 524,
14]);
15
16export const retryXrpc = createRetryable((err: unknown) => {
17 if (err instanceof XRPCError) {
18 if ((err as XRPCError).status === ResponseType.Unknown) return true;
19 return RETRYABLE_HTTP_STATUS_CODES.has((err as XRPCError).status);
20 }
21 return false;
22});