Skip to content

mattmassicotte/ATResolve

Repository files navigation

Build Status Platforms Documentation Matrix

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/mattmassicotte/ATResolve", branch: "main")
]

Usage

import ATResolve

let resolver = ATResolver(provider: URLSession.shared)

let data = try await resolver.resolveHandle("massicotte.org")

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. Both a Matrix space and Discord are available for live help, but I have a strong bias towards answering in the form of documentation. You can also find me on the web.

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

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •  

Languages