1个不稳定版本

0.6.5 2023年4月20日
0.6.1 2023年3月3日
0.4.1 2023年4月2日
0.4.0-alpha.0 2022年8月9日
0.3.0-alpha.6 2022年3月22日

974游戏开发

Download history 5/week @ 2024-03-11 84/week @ 2024-04-01 1/week @ 2024-04-08 1/week @ 2024-05-20

73 每月下载量
用于 5 个可打包代码 (4 个直接使用)

MPL-2.0 许可证

75KB
1.5K SLoC

Rust中的Neos API

License Crates.io Docs

NeosVR API的Rust模型。

提供完整的serde支持,datetime的时间,以及更好的枚举类型的strum。

Neos API的官方文档缺失,并且API仍在变化。因此,这个crate不能保证正确性。一些类型完全基于有根据的猜测。

这个crate提供了一个可选的api_client功能的API客户端示例。

未来计划

  • 更好的总体文档
  • 将某些链接的Option<T>字段拆分到它们自己的子结构中

测试

集成测试联系实时API。这就是为什么它们默认被忽略的原因。

其中一些还需要身份验证。

遗憾的是,没有所有的事情都可以在没有创建模拟API的情况下可靠地测试。这反而违背了测试最初的目的。

手动创建用户会话

您可以通过使用curl登录来生成一个user-sesion.json文件

curl --request POST \
  --url https://api.neos.com/api/userSessions \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --data '{
  "password": "pa$$word",
  "secretMachineId": "string",
  "rememberMe": true,
  "ownerId": "string",
  "email": "[email protected]",
  "username": "string"
}' > user-session.json

仅使用单一的身份验证方法(用户名/电子邮件/所有者ID)。还请确保将其他值替换为您自己的。使用secretMachineId也是一个推荐的做法,以防止您的其他会话注销。例如,您可以使用以下命令生成一个随机的:openssl rand -hex 32

运行被忽略的测试

确保您有

  • 互联网连接
  • 有效的user-sesion.json

然后只需运行测试;

# A specific test with output logging
cargo test --all-features get_user -- --exact --ignored --nocapture
# All tests
cargo test --all-features -- --ignored

许可证

请注意,许可证是MPL-2.0而不是更常见的MIT OR Apache-2.0。然而,如果Neos团队希望使用这个crate或将其纳入一个具有不同许可证的更官方的crate中,则可以协商许可证更改。

依赖项

~2–15MB
~192K SLoC