GoatHerb 是一个用于访问 GitHub API 的跨平台 Swift 库。
大多数跨平台 SDK 只是简单地将 Foundation 的
URLSession
替换为 SwiftNIO 的AsyncHTTPClient
就完事了。 GoatHerb 不是! GoatHerb 构建于 KippleNetworking 之上,它可以根据平台智能地选择 Foundation 的URLSession
或 SwiftNIO 的AsyncHTTPClient
,从而确保它运行的平台获得最佳网络性能。
目前就这些!如果您正在寻找功能更完整的 SDK,请查看 Swift Package Index 上的 GitHub SDK 列表。
创建一个 GitHub
对象。
let gitHub = GitHub()
您可以选择在初始化程序中提供 accessToken
,或者通过设置 GITHUB_ACCESS_TOKEN
或 GITHUB_TOKEN
环境变量来提供。
let gitHub = GitHub(accessToken: "<token>")
从那里开始,请求非常简单。这里有一些例子
// Get a user.
let user = try await self.gitHub.getUser("bdrelling")
// Get an organization.
let organization = try await self.gitHub.getOrganization("swift-kipple")
// Get all repositories for a user.
let repositories = try await self.gitHub.getRepositories(user: "bdrelling")
// Get all repositories for an organization.
let repositories = try await self.gitHub.getRepositories(org: "swift-kipple")
欢迎进行讨论、提出问题和提交拉取请求!我很乐意扩展此库的功能,但需要遵守 超出范围 部分中列出的功能。
如果打开一个拉取请求,请确保包尽可能地保持 100% 的代码覆盖率。
特别感谢 @boiarqin 为我提供了一个令人难忘的仓库名称。
本项目在 MIT 许可证下发布。 有关详细信息,请参阅 LICENSE。