···2323### Consulting your DID
24242525```gleam
2626+import gleam/http/request
2727+import possum
2828+2629// Resolve an atproto handle (hostname) to a DID.
2730//
2831// You can consult your identifier by sending a request directly to your PDS,
···4447### Querying Public Data
45484649```gleam
5050+import gleam/http/request
5151+import possum
5252+5353+let assert Ok(did) = did.parse("did:plc:ewvi7nxzyoun6zhxrhs64oiz")
5454+4755// Reading public data from repositories.
4856// No authorization needed.
4957request.new()
5058|> request.set_host("personal.data-server.pds")
5159|> possum.list_records(
5252- did: did,
5353- collection: "site.standard.document",
6060+ did,
6161+ collection: "sh.tangled.repo",
5462 limit: option.Some(3),
5563 cursor: option.None,
5664 reverse: option.None,
···6068### Authorized Requests
61696270```gleam
7171+import gleam/http/request
7272+import possum
7373+7474+let assert Ok(did) = did.parse("did:plc:ewvi7nxzyoun6zhxrhs64oiz")
7575+7676+// App Passwords can be generated in your Bluesky settings,
7777+// It allows authorized access to your PDS.
7878+request.new()
7979+|> request.set_host("personal.data-server.pds")
8080+|> possum.create_session(
8181+ did,
8282+ app_password: "bsky-app-password",
8383+ allow_takendown: option.None,
8484+ auth_factor_token: option.None
8585+)
8686+6387// Include a authorization Header for requests that require authentication.
6488request.new()
6589|> request.set_host("personal.data-server.pds")