signal-desktop/ts/textsecure/cds/RateLimitedError.ts
2022-11-22 10:13:55 -08:00

23 lines
650 B
TypeScript

// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export type RateLimitedErrorPayloadType = Readonly<{
// eslint-disable-next-line camelcase
retry_after?: number;
}>;
export class RateLimitedError extends Error {
public readonly retryAfterSecs: number;
// eslint-disable-next-line camelcase
constructor({ retry_after }: RateLimitedErrorPayloadType) {
super(
'RateLimitedError: got 4008 close code from CDSI, ' +
// eslint-disable-next-line camelcase
`retry_after=${retry_after}`
);
// eslint-disable-next-line camelcase
this.retryAfterSecs = retry_after ?? 0;
}
}