Spaces:
Sleeping
Sleeping
import { ApplicationError, Prop, RPC_TRANSFER_PROTOCOL_META_SYMBOL, StatusCode } from 'civkit'; | |
import _ from 'lodash'; | |
import dayjs from 'dayjs'; | |
import utc from 'dayjs/plugin/utc'; | |
dayjs.extend(utc); | |
50301) | (|
export class ServiceDisabledError extends ApplicationError { } | |
50302) | (|
export class ServiceCrashedError extends ApplicationError { } | |
50303) | (|
export class ServiceNodeResourceDrainError extends ApplicationError { } | |
40104) | (|
export class EmailUnverifiedError extends ApplicationError { } | |
40201) | (|
export class InsufficientCreditsError extends ApplicationError { } | |
40202) | (|
export class FreeFeatureLimitError extends ApplicationError { } | |
40203) | (|
export class InsufficientBalanceError extends ApplicationError { } | |
40903) | (|
export class LockConflictError extends ApplicationError { } | |
40904) | (|
export class BudgetExceededError extends ApplicationError { } | |
45101) | (|
export class HarmfulContentError extends ApplicationError { } | |
45102) | (|
export class SecurityCompromiseError extends ApplicationError { } | |
41201) | (|
export class BatchSizeTooLargeError extends ApplicationError { } | |
42903) | (|
export class RateLimitTriggeredError extends ApplicationError { | |
({ | |
desc: 'Retry after seconds', | |
}) | |
retryAfter?: number; | |
({ | |
desc: 'Retry after date', | |
}) | |
retryAfterDate?: Date; | |
protected override get [RPC_TRANSFER_PROTOCOL_META_SYMBOL]() { | |
const retryAfter = this.retryAfter || this.retryAfterDate; | |
if (!retryAfter) { | |
return super[RPC_TRANSFER_PROTOCOL_META_SYMBOL]; | |
} | |
return _.merge(_.cloneDeep(super[RPC_TRANSFER_PROTOCOL_META_SYMBOL]), { | |
headers: { | |
'Retry-After': `${retryAfter instanceof Date ? dayjs(retryAfter).utc().format('ddd, DD MMM YYYY HH:mm:ss [GMT]') : retryAfter}`, | |
} | |
}); | |
} | |
} | |