Skip to content

Repository files navigation

Build Status Platforms Documentation

ATResolve

AT Protocol PLC/DID/Whatever Resolver

I just want to resolve a handle to a DID and PDS. There's more to do, but this is a start. This could be a good reference.

Integration

dependencies: [
    .package(url: "https://github.com/ATProtoKit/ATResolve", branch: "main")
]

Usage

import ATResolve

let resolver = ATResolver(provider: URLSession.shared)

let data = try await resolver.resolveHandle("lucy.bsky.social")

print(data.did)
print(data.serviceEndpoint)

The ATResolver type also supports custom HTTP loading for compatibility with server frameworks that don't use URLSession.

struct CustomProvider: ResponseProviding {
    func decodeJSON<T>(at urlString: String, queryItems: [(String, String)]) async throws -> T where T : Decodable {
        // your custom code that loads and decodes JSON goes here
    }
}

let resolver = ATResolver(provider: CustomProvider())

Contributing and Collaboration

I would love to hear from you! Issues or pull requests work great.

I prefer collaboration, and would love to find ways to work together if you have a similar project.

I prefer indentation with tabs for improved accessibility. But, I'd rather you use the system you want and make a PR than hesitate because of whitespace.

By participating in this project you agree to abide by the Contributor Code of Conduct.

About

AT Protocol PLC Resolver

Topics

Resources

Code of conduct

Security policy

Stars

14 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages