๐Ÿ€ ATproto library for gleam
atproto library gleam
35

Configure Feed

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

test: call global_data directly

kacaii.dev (Jun 30, 2026, 9:26 AM -0300) e2cda905 5e3215f7

+20 -9
+1 -1
src/possum.gleam
··· 127 127 /// Endpoint Docs: [/xrpc/com.atproto.identity.resolveHandle](https://endpoints.bsky.app/#bluesky-app/tag/comatprotoidentity/GET/xrpc/com.atproto.identity.resolveHandle) 128 128 pub fn resolve_handle( 129 129 request: request.Request(_), 130 - handle: String, 130 + handle handle: String, 131 131 ) -> request.Request(_) { 132 132 request 133 133 |> request.set_method(http.Get)
+19 -8
test/possum_test.gleam
··· 18 18 Context(handle: String, did: String, pds: String) 19 19 } 20 20 21 - fn global_context() -> Context { 21 + pub fn global_data() -> Context { 22 22 global_value.create_with_unique_name("possum_test.global.data", fn() { 23 23 let handle = "bsky.app" 24 24 ··· 48 48 }) 49 49 } 50 50 51 - fn with_context(next: fn(Context) -> a) -> Nil { 52 - let ctx = global_context() 53 - next(ctx) 51 + pub fn get_plc_data_test() -> Nil { 52 + let context = global_data() 53 + 54 + let assert Ok(response) = 55 + request.new() 56 + |> possum.get_plc_data(context.did) 57 + |> httpc.send() 58 + 59 + let assert Ok("https://" <> _pds) = 60 + response.body 61 + |> json.parse(decode.at( 62 + ["services", "atproto_pds", "endpoint"], 63 + decode.string, 64 + )) 54 65 55 66 Nil 56 67 } 57 68 58 69 pub fn resolve_handle_test() -> Nil { 59 - use ctx <- with_context() 70 + let context = global_data() 60 71 61 - let request = 72 + let assert Ok(response) = 62 73 request.new() 63 74 |> request.set_host(slingshot) 64 - |> possum.resolve_handle(ctx.handle) 75 + |> possum.resolve_handle(context.handle) 76 + |> httpc.send 65 77 66 - let assert Ok(response) = httpc.send(request) 67 78 let assert Ok("did:plc:" <> _did) = 68 79 json.parse(response.body, decode.at(["did"], decode.string)) 69 80