๐Ÿ€ ATproto XRPC client for gleam possum.hexdocs.pm
gleam atproto xrpc-client library
41

Configure Feed

Select the types of activity you want to include in your feed.

test/possum: add test for describe_repository

kacaii.dev (Jun 27, 2026, 8:42 PM -0300) 47e713cd a80775b2

+15 -4
-3
src/possum.gleam
··· 4 4 import gleam/int 5 5 import gleam/list 6 6 import gleam/option 7 - import gleam/string 8 7 9 8 /// https://endpoints.bsky.app/#bluesky-app/tag/comatprotorepo 10 9 const atproto_repo = "xrpc/com.atproto.repo" ··· 20 19 request: request.Request(_), 21 20 handle: String, 22 21 ) -> request.Request(_) { 23 - let handle = string.remove_prefix(handle, "@") 24 - 25 22 request 26 23 |> request.set_method(http.Get) 27 24 |> request.set_path(atproto_identity <> ".resolveHandle")
+15 -1
test/possum_test.gleam
··· 13 13 let uri = 14 14 request.new() 15 15 |> request.set_host(host) 16 - |> possum.resolve_handle("@kacaii.dev") 16 + |> possum.resolve_handle("kacaii.dev") 17 17 |> request.to_uri 18 18 19 19 assert uri.to_string(uri) ··· 22 22 <> "/xrpc/com.atproto.identity.resolveHandle" 23 23 <> "?handle=kacaii.dev" 24 24 } 25 + 26 + pub fn describe_repository_test() -> Nil { 27 + let uri = 28 + request.new() 29 + |> request.set_host(host) 30 + |> possum.describe_repository("kacaii.dev") 31 + |> request.to_uri 32 + 33 + assert uri.to_string(uri) 34 + == "https://" 35 + <> host 36 + <> "/xrpc/com.atproto.repo.describeRepo" 37 + <> "?repo=kacaii.dev" 38 + }