XrpcClient

class XrpcClient(baseUrl: String, val httpClient: <Error class: unknown class>, val json: <Error class: unknown class> = DefaultJson, val authProvider: AuthProvider = NoAuth)

Ktor-backed XRPC client. Wraps a caller-supplied HttpClient so consumers control the engine, timeouts, retries, and logging. Generated XRPC bindings call query for GET /xrpc/<nsid> and procedure for POST /xrpc/<nsid>.

Auth is attached via a pluggable AuthProvider, never as a field on request DTOs. Override per-call with the auth parameter.

Parameters

baseUrl

Root URL of the PDS / AppView, e.g. https://bsky.social. No trailing /xrpc — the client appends it.

Constructors

Link copied to clipboard
constructor(baseUrl: String, httpClient: <Error class: unknown class>, json: <Error class: unknown class> = DefaultJson, authProvider: AuthProvider = NoAuth)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
val httpClient: <Error class: unknown class>
Link copied to clipboard
val json: <Error class: unknown class>

Functions

Link copied to clipboard
suspend fun <P, R> procedure(nsid: String, params: P, paramsSerializer: <Error class: unknown class><P>, responseSerializer: <Error class: unknown class><R>, errorMapper: XrpcErrorMapper = DefaultXrpcErrorMapper, auth: AuthProvider? = null): R

Overload for procedures with no input body (e.g. deleteSession).

suspend fun <P, I, R> procedure(nsid: String, params: P, paramsSerializer: <Error class: unknown class><P>, input: I, inputSerializer: <Error class: unknown class><I>, responseSerializer: <Error class: unknown class><R>, encoding: String = ContentType.Application.Json.toString(), errorMapper: XrpcErrorMapper = DefaultXrpcErrorMapper, auth: AuthProvider? = null): R
Link copied to clipboard
suspend fun <P, R> query(nsid: String, params: P, paramsSerializer: <Error class: unknown class><P>, responseSerializer: <Error class: unknown class><R>, errorMapper: XrpcErrorMapper = DefaultXrpcErrorMapper, auth: AuthProvider? = null): R