Ursus HTTP
用于 iOS/macOS 的 Swift 的 Urbit HTTP/%eyre
客户端。
请参考我的 Ursus Chat 仓库以获取示例项目。
用法
Ursus HTTP 现在正处于开发中,将提供更好的文档和演示应用程序。现在这是一个快速草图:
let client = Client(url: URL(string: "https://")!, code: "fipfes-fipfes-fipfes-fipfes")
client.loginRequest() { result in
switch result {
case .success(let ship):
client.connect()
client.subscribeRequest(ship: ship, app: "chat-view", path: "/primary") { event in
print(event)
}
case .failure(let error):
print(error)
}
}
安装
您可以通过将以下行添加到 podfile 中来使用 Cocoapods 安装 Ursus:
pod 'UrsusHTTP', '~> 1.10'
如果您需要,我可以帮助您设置 Carthage 或 Swift 包管理器支持。
待办事项列表
使此代码库更佳的方法
- 新的
%logout
端点是否应该清除urbauth
cookie? - 将 ID 传递给事件处理程序,以便可以发出取消订阅请求。
- 事件源请求应先
.put
以创建新通道,然后.get
以检索现有通道;已经尝试过这一点,但%eyre
返回 400 错误代码。 - 登录和通道请求可以使用状态枚举来维护
LoginState
和ChannelState
。- 如果用户未认证或通道未连接,则可以将请求数据链提取。
- 可以使用自定义响应序列化程序移除Poke和Subscribe处理器。
- 正确测试
UnsubscribeRequest
和DeleteRequest
。 - 更好的文档/实例。