21 releases

new 0.0.22 Feb 20, 2025
0.0.21 Feb 16, 2025
0.0.19 Jan 30, 2025
0.0.16 Nov 17, 2024
0.0.3 Aug 17, 2024

#593 in Authentication

Download history 63/week @ 2024-10-29 196/week @ 2024-11-05 161/week @ 2024-11-12 39/week @ 2024-11-19 6/week @ 2024-11-26 8/week @ 2024-12-03 4/week @ 2024-12-10 105/week @ 2025-01-21 135/week @ 2025-01-28 25/week @ 2025-02-04 208/week @ 2025-02-11

473 downloads per month
Used in 2 crates

MPL-2.0 license

280KB
5.5K SLoC

OpenIAP client c library

This is the rust implementation of the openiap client. This will also function as the "base" for openiap SDK implementations in other programming languages. For now this is only the GRPC and WebSocket client, later we will add a web rest, named pipe and TCP client as well.


lib.rs:

The openiap.client crate provides the [Client] struct and its methods. For now this is only the GRPC and WebSocket client, later we will add a web rest, named pipe and TCP client as well. Initialize a new client, by calling the Client::new_connect method.

use openiap_client::{OpenIAPError, Client, QueryRequest};
#[tokio::main]
async fn main() -> Result<(), OpenIAPError> {
    let client = Client::new_connect("").await?;
    let q = client.query( QueryRequest::with_projection(
        "entities",
        "{}",
        "{\"name\":1}"
    )).await?;
    let items: serde_json::Value = serde_json::from_str(&q.results).unwrap();
    let items: &Vec<serde_json::Value> = items.as_array().unwrap();
    for item in items {
        println!("Item: {:?}", item);
    }
    Ok(())
}

Dependencies

~15–48MB
~752K SLoC