DynuREST

Dynu.com IP 更新 API 的封装器。

Twitter: @richardpiazza

面对现实... 一个仅以文本响应的 REST API 感觉不够现代。 DynuREST 将 Dynu.com IP 更新 API 的文本响应转换为适当的 HTTP 状态码和有意义的错误。

安装

DynuREST 使用 Swift 包管理器 进行分发。 要将其安装到项目中,请将其作为依赖项添加到您的 Package.swift 清单中

let package = Package(
    ...
    dependencies: [
        .package(url: "https://github.com/richardpiazza/DynuREST.git", from: "3.0.0")
    ],
    ...
)

然后在任何你想使用它的地方导入 DynuREST

import DynuREST

用法

DynuIPUpdater 共享实例允许向 Dynu.com API 发送 IP 信息。

let address = IPAddress.ipV4("X.X.X.X")
let response = try await DynuIPUpdater.shared.updateAddress(address, using: .basic("username", "password"))

IP 地址信息可以通过任何方式获得,但 DynuREST 有两个内置的提供程序

它们都实现了 IPSource 协议

public protocol IPSource {
    func ipAddress() async throws -> IPAddress
}

DynuIPUpdater 还包含一个辅助方法,可以自动从内置源检索 IP 信息。

func requestIP(_ sources: [IPSource]) async -> [IPAddress]