2 releases

0.1.1 Nov 10, 2023
0.1.0 Nov 9, 2023

#1082 in Network programming

MIT/Apache and GPL-3.0-only

18KB
305 lines

IGDB API Rust

This is a wrapper for the IGDB REST API. It contains all the protocol buffers compiled using PROST which makes it typesafe.

License Crates.io Downloads Docs dependency status CI

Usage

use igdb_api_rust::*;

fn main() {
    // Default trait will get the credentials from the env vars: IGDB_API_ID and IGDB_API_SECRET
    // Otherwise you can use the "new" method to supply them in your own way.
    let client = Client::default();     
    
    let query = ApicalypseBuilder::default().filter("id > 1337")
                                            .limit(55)
                                            .offset(66)
                                            .fields("*")
                                            .exclude("id,name")
                                            .sort("id desc");
    // IF you prefer you can use the request_raw method.
    if let Ok(game_result) = client.request::<GameResult>(query) {
        // Do something with the game results.
    }

    // The generic "GameResult" is required for knowing what endpoint it uses.
    if let Ok(game_result_count) = client.request_count::<GameResult>(query) {
        // Do something with the game count.
    }
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Dependencies

~9–24MB
~300K SLoC