kiteconnect-rs

Crates.io Travis

API wrapper for kiteconnect in rust

Docs

https://docs.rs/kiteconnect

Usage

Head on to https://crates.io/crates/kiteconnect

Copy kiteconnect = "<VERSION>" dependency to Cargo.toml file

KiteConnect REST APIs

```rust extern crate kiteconnect; extern crate serde_json as json;

use kiteconnect::connect::KiteConnect;

fn main() { let kiteconnect = KiteConnect::new("", ""); let holdings: json::Value = kiteconnect.holdings().unwrap(); println!("{:?}", holdings); } ```

Kite Ticker Websocket

```rust extern crate kiteconnect; extern crate serde_json as json;

use kiteconnect::ticker::{KiteTicker, KiteTickerHandler, WebSocketHandler}

[derive(Debug)]

struct CustomHandler { count: u32 }

impl KiteTickerHandler for CustomHandler { fn onopen(&mut self, ws: &mut WebSocketHandler) where T: KiteTickerHandler { // Subscribe to a list of tokens on opening the websocket connection ws.subscribe(vec![123456]); println!("Fellow onopen callback"); } fn onticks(&mut self, ws: &mut WebSocketHandler, tick: Vec) where T: KiteTickerHandler { println!("{:?}", tick); println!("Fellow onticks callback"); }

fn on_close<T>(&mut self, ws: &mut WebSocketHandler<T>)
where T: KiteTickerHandler {
    println!("Fellow on_close callback");
}

fn on_error<T>(&mut self, ws: &mut WebSocketHandler<T>)
where T: KiteTickerHandler {
    println!("Fellow on_error callback");
}

}

fn main() { let mut ticker = KiteTicker::new("", "");

let custom_handler = CustomHandler {
    count: 0
};

ticker.connect(custom_handler, None);

loop {}

}

```

Running Examples

KiteConnect REST API sample

bash cargo run --example connect_sample

KiteConnect Websocket sample

bash cargo run --example ticker_sample

TODO