1 个不稳定版本
0.1.0 | 2023年9月15日 |
---|
#30 in #detail
15KB
256 行
USLEGALPRO
uslegalpro
是一个简单的库,帮助与 uslegalpro 的 JSON API 进行交互。
在端点
目前有几个端点可用。我希望根据需要添加更多。请随意创建一个 pull request 来添加更多。
- 身份验证 验证用户
- 案例预览 按 case_number 和司法管辖区查询案例
- 详情 获取案例的详细信息
在 URL 上
您可以指定要使用的 URL 作为端点,您现在也可以使用预建的 Texas 端点,我计划稍后添加更多州。
假设上述端点具有以下路由
POST /authenticate GET /search_case GET /case/{CASE_TRACKING_ID}
请求 & 类型
唯一的身份验证请求方式是如果您成功进行了身份验证。在库提供的方法之外无法构造客户端(已认证或未认证)。但是您仍然可以修改和查看客户端使用的属性。
示例用法
身份验证
use uslegalpro::{client::NoAuthClient, state::State, auth::{authenticate, user::User}};
use reqwest::Client;
async fn auth() {
let texas = State::Texas;
let client = NoAuthClient::new(client, "MY_CLIENT_TOKEN", texas.endpoint());
let user = User {
username: "MY_USERNAME",
password: "MY_PASSWORD",
};
let authtoken = authenticate(client, user).await.unwrap();
println!("AUTHED = {}", authtoken);
let client = client.into_authed_client(&authtoken);
// client can now make authed requests
}
案例预览
use uslegalpro::{query::{query, Query}};
async fn pre() {
// client from last part of authentication example
let case_query = Query {
client,
case_number: "MY_CASE_#",
jurisdiction: "county:court",
};
let previews = query(case_query).await.unwrap();
println!("my vector of previews = {:?}", previews);
}
依赖项
~3–18MB
~241K SLoC