2个版本
0.0.2 | 2024年7月24日 |
---|---|
0.0.1 | 2022年12月14日 |
#4 在 #api-error
156 每月下载次数
69KB
1.5K SLoC
README.md
livepeer-rs
0.0.1
用于与Livepeer Studio API交互的Crate
此库提供了一个与Livepeer API交互的Rust接口。主要组件包括Vod
和Task
特质,AccessControlApi
结构体,以及一个错误模块来处理API错误响应。
Vod特质
Vod
特质包含以下方法
- 获取资产详情
- 获取资产上传的预签名URL
- 上传资产
- 通过ID获取资产
- 通过播放ID获取资产
- 通过内容ID(CID)获取资产
- 通过用户ID获取资产
- 更新资产
- 导入资产
- 将资产导出到IPFS
- 列出webhook订阅
所有方法返回Result<serde_json::Value, crate::errors::Error>
或适当的错误类型。
Task特质
Task
特质提供以下方法来管理任务
- 列出任务
- 通过输出资产ID获取任务
- 通过用户ID获取任务
Task
特质中的所有方法返回Result<serde_json::Value, crate::errors::Error>
或适当的错误类型。
AccessControlApi
AccessControlApi
结构体提供了管理签名密钥的方法
- 列出签名密钥
- 创建签名密钥
- 删除签名密钥
所有方法返回Result<serde_json::Value, errors::Error>
或适当的错误类型。
AccessControlApi
可以使用带有LivepeerClient
实例的new
函数进行初始化。
错误处理
《errors
》模块提供了一个Error
枚举,用于表示不同的API错误响应。函数from_response
接受一个surf::Response
,并返回相应的Error
变体。枚举还包含针对特定Livepeer操作的变体,如LISTSTREAMS
和CREATESTREAM
。
依赖关系
请参阅Cargo.toml
获取依赖项的完整列表。
文档
通过运行以下命令本地生成和查看文档:
$ cargo doc
$ cd ./target/doc
$ python3 -m http.server 8080
打开您的浏览器,转到https://127.0.0.1:8080/livepeer_client
示例用法
use livepeer_rs::{vod::Vod, Livepeer, LivepeerEnv};
fn main() {
let _env = LivepeerEnv::Prod;
// Set up your Client
let lp_client = Livepeer::new(String::from("$YOUR_API_TOKEN"), Some(_env));
// Retrieve JSON of VOD assets
match lp_client.asset.list_assets() {
Ok(assets) => {
println!("Assets: {}", serde_json::to_string(&assets).unwrap());
}
Err(err) => {
println!("Error retrieving VOD assets: {:?}", err);
}
};
// Retrieve JSON of Livepeer Streams
match lp_client.stream.list_streams() {
Ok(streams) => {
println!("Streams: {}", serde_json::to_string(&streams).unwrap());
}
Err(err) => {
println!("Error retrieving streams: {:?}", err);
}
};
}
文档
https://docs.rs/crate/livepeer-rs/latest
许可证
MIT许可证
版权所有 © 2022 gioelecerati
以下条件下,任何获得此软件及其相关文档副本(“软件”)的人均可免费使用该软件,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件的人进行上述操作:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些责任是因合同、侵权或其他行为引起的,无论这些责任是否与软件或软件的使用或其他操作有关。
由readme-gpt生成,作者:gioelecerati
依赖关系
~10–24MB
~385K SLoC