PutioKit

围绕 put.io API 的简单包装器。PutioKit 包装了所有可用的端点,并提供了一种简单且类型安全的方式与之交互。支持:

安装

SPM

在 Package.swift 的 *dependencies* 数组中添加以下内容:

.package(url: "https://github.com/ipavlidakis/PutioKit.git", from: "1.0.0")

架构

该工具包将 API 中可用的端点拆分为单独的服务:目前您可以找到以下可用的服务:

每个服务需要 3 样东西:

  1. ApiClientModel 的一个实例
  2. 一个符合 NetworkHandling 协议的实例
  3. 一个符合 CredentialsStoring 协议的实例

ApiClientModel

ApiClientModel 结构体代表您的 put.io 应用程序。它包含以下值:

ApiClientModel 用于填充与 API 通信所需的必要信息。

NetworkHandling

传递给服务的实例将用于执行所有网络操作。 除了任务执行角色之外,该对象还负责提供一个 jsonDecoder,用于解析从 API 收到的数据,以及一个 decode 方法,用于分离每个请求可能发生的各种类型的可用结果(例如,在文件对象的响应中,响应可能会出错。 在这种情况下,结果是 ErrorModelURLSession 中的 decode 方法已经为您处理了这些情况,因此它始终可以返回有意义的结果)

为了便于使用,URLSession 符合 NetworkHandling

CredentialsStoring

传递给服务的实例将用作访问令牌的提供者,这是与 API 通信所必需的

下一步

作者

Ilias Pavlidakis

许可证

PutioKit 根据 MIT 许可证发布。 有关详细信息,请参阅 LICENSE。