From 63516bf7e6db87ec5f1e97dd2e67e53adfcb675c Mon Sep 17 00:00:00 2001 From: CptCaptain Date: Sat, 2 May 2020 22:20:35 +0200 Subject: [PATCH] add code --- Cargo.toml | 3 +++ src/main.rs | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index a13206f..bffa292 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,3 +7,6 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +reqwest = { version = "0.10.4", features = ["json", "blocking"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" diff --git a/src/main.rs b/src/main.rs index e7a11a9..ff83161 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,49 @@ +use serde::Deserialize; +use std::{thread, time}; + +extern crate reqwest; + +const API_URL: &str = "https://status.robertsspaceindustries.com/"; + +const STATUS_URL: &str = "https://status.robertsspaceindustries.com/static/content/api/v0/systems.en.json"; +const INCIDENTS_URL: &str = "https://status.robertsspaceindustries.com/static/content/api/v0/incidents/timeline.en.json"; + + +#[derive(Deserialize, Debug)] +struct Status { + name: String, + status: String, + order: u8, + +} + +fn get_incidents() -> Result<(),reqwest::Error> { + // TODO add parsing for the data this returns + let res = reqwest::blocking::get(INCIDENTS_URL)?; + let data = res.text()?; + // let pu = &data[1]; + // let ea = &data[2]; + //println!("Persistent Universe: {}\nEA: {}", pu.status, ea.status); + dbg!(data); + Ok(()) +} + +fn get_status() -> Result<(),reqwest::Error> { + let res = reqwest::blocking::get(STATUS_URL)?; + let data = res.json::>()?; + let pu = &data[1]; + let ea = &data[2]; + println!("Persistent Universe: {}\nEA: {}", pu.status, ea.status); + Ok(()) +} + fn main() { - println!("Hello, world!"); + match get_status(){ + Err(e) => println!("{:?}", e), + _ => () + } + // match get_incidents(){ + // Err(e) => println!("{:?}", e), + // _ => () + // } }