2个版本

0.0.2 2024年7月24日
0.0.1 2022年12月14日

#4#api-error

Download history 149/week @ 2024-07-22 7/week @ 2024-07-29

156 每月下载次数

MIT 协议

69KB
1.5K SLoC

README.md

livepeer-rs

0.0.1

用于与Livepeer Studio API交互的Crate

此库提供了一个与Livepeer API交互的Rust接口。主要组件包括VodTask特质,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操作的变体,如LISTSTREAMSCREATESTREAM

依赖关系

请参阅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