UrsusAirlock 1.9.0

UrsusAirlock 1.9.0

Daniel Clelland 维护。



 
依赖于
Alamofire~> 5.2
AlamofireEventSource~> 1.2
UrsusAtom~> 1.2
 

  • 作者:
  • Daniel Clelland

Ursus Airlock

Swift 编写的适用于 iOS/macOS 的 Urbit HTTP/%eyre 客户端。

请参阅我的 Ursus Chat 仓库中的示例项目。

用法

Ursus Airlock 还远未完成 - 没有更好的文档和示例应用,目前只有以下快速草稿

let airlock = Airlock(url: URL(string: "https://")!, code: "fipfes-fipfes-fipfes-fipfes")
airlock.loginRequest() { result in
    switch result {
    case .success(let ship):
        airlock.connect()
        airlock.subscribeRequest(ship: ship, app: "chat-view", path: "/primary") { event in
            print(event)
        }
    case .failure(let error):
        print(error)
    }
}

安装

Ursus 可以通过 Cocoapods 安装,只需在 podfile 中添加以下行

pod 'UrsusAirlock', '~> 1.8'

如果您需要,我可以帮助您设置 Carthage 或 Swift Package Manager 支持。

待办事项列表

使得这个代码库更优秀的事情

  • 新的 %logout 端点是否应该清除 urbauth cookie?
  • 在事件处理器中传递 ID,以便可以进行退订请求。
  • 事件源请求应首先使用 .put 创建新的通道,然后再使用 .get 检索现有通道;已尝试过此方法,但返回了 400 错误代码。
  • 登录和通道请求可以使用状态枚举来维护 LoginStateChannelState
    • 如果用户未认证或通道未连接,则可以将请求连在一起。
    • 可以使用自定义响应序列化器移除戳和订阅处理器。
  • 正确测试 UnsubscribeRequestDeleteRequest
  • 更好的文档/示例。

其他客户端

依赖项