#运动 #请求 #响应 #请求 #API #端点

顶峰

Rust 对 Pinnacle Sports API 的包装

5 个版本

0.1.3 2023年4月19日
0.1.2 2023年4月11日
0.1.1 2023年4月11日
0.1.0 2023年4月10日
0.0.1 2023年4月3日

#12 in #运动

MIT 许可证

37KB
621

License Crates.io Docs.rs

顶峰

Rust 对 Pinnacle Sports API 的包装

注意 目前并未对所有 API 进行包装,但添加缺失端点相对容易。您只需要实现相应的 请求 以及可能的一个 响应。如果您愿意,请不要犹豫,提交一个 PR。

以下是目前已包装的所有 requests

用法

use pinnacle::prelude::*;

let client = PinnacleClient::new("pinnacle_user", "pinnacle_password");
let req = GetStraightOdds {
    sport_id: 29,
    ..Default::default()
};
let odds = client.get(&req).await?;

您还可以使用一个缓存响应的客户端,这对于开发来说很有帮助

use pinnacle::prelude::*;
use std::time::Duration;

let client = PinnacleCachingClient::new(
    "pinnacle_user",
    "pinnacle_password",
    "cache-folder",
    Duration::from_secs(60 * 5),
);
let balance = client.get(&GetClientBalance).await?;
// Now, if you repeat the request within 5 minutes, the cached version will be used
// instead of making a new request.
let cached_balance = client.get(&GetClientBalance).await?;

贡献

我们感谢所有类型的贡献,谢谢!

关于 README 的说明

readme 的大部分内容是通过 cargo-sync-readme 自动从 crate 文档复制的。这样 readme 总是与文档保持同步,并且示例已测试。

所以,如果您想在 <!-- cargo-sync-readme start --><!-- cargo-sync-readme end --> 标记之间更改 readme 的一部分,请不要直接编辑 README.md,而是更改 src/lib.rs 顶部的文档,然后使用以下命令与 readme 同步

cargo sync-readme

(确保已安装 cargo 命令)

cargo install cargo-sync-readme

如果您已安装 rusty-hook,则更改将在提交时自动应用。

许可证

本项目采用 MIT 许可证

依赖项

~4–17MB
~254K SLoC