class RateLimitedAgent

An XRPC agent with rate-limited requests.

Constructor

constructor(options, limiter)

Parameters

options: ClientOptions
limiter: RateLimitThreshold

Properties

labelers: Set<string>

client: Client<XRPCQueries, XRPCProcedures>

Methods

get(name, ...options)

Parameters

name: TName
...options: HasRequiredKeys<TInit> extends true ? [init: TInit] : [init?: TInit]

Returns

Promise<TInit extends { as: TFormat; } ? TFormat extends ResponseFormat ? FormattedResponse<TQueries[TName]>[TFormat<TFormat>] : TFormat extends null ? null : never : TQueries[TName] extends XRPCQueryMetadata<any, Body, any> ? InferOutput<Body["schema"]> : never>

post(name, ...options)

Parameters

name: TName
...options: HasRequiredKeys<TInit> extends true ? [init: TInit] : [init?: TInit]

Returns

Promise<TInit extends { as: TFormat; } ? TFormat extends ResponseFormat ? FormattedResponse<TProcedures[TName]>[TFormat<TFormat>] : TFormat extends null ? null : never : TProcedures[TName] extends XRPCProcedureMetadata<any, any, Body, any> ? InferOutput<Body["schema"]> : never>

withProxy(did, service)

Create a new agent with the atproto_proxy header set.

Parameters

did: `did:${string}:${string}`

The proxy service DID.

service: `#${string}`

The proxy service identifier.

Returns

RateLimitedAgent<XRPCQueries, XRPCProcedures>