-
Notifications
You must be signed in to change notification settings - Fork 0
Rust
PiotrFerenc edited this page May 14, 2024
·
1 revision
[dependencies]
reqwest = { version = "0.11", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
use reqwest::Client;
use serde::{Deserialize, Serialize};
use std::error::Error;
#[derive(Serialize, Deserialize)]
struct Parameters {
ConsoleText: String,
}
#[derive(Serialize, Deserialize)]
struct TaskItem {
Sequence: i32,
Name: String,
Action: String,
}
#[derive(Serialize, Deserialize)]
struct RequestPayload {
Parameters: Parameters,
Tasks: Vec<TaskItem>,
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client = Client::new();
let url = "http://localhost:5000/execute";
let payload = RequestPayload {
Parameters: Parameters {
ConsoleText: String::from("hallo word"),
},
Tasks: vec![TaskItem {
Sequence: 1,
Name: String::from("log"),
Action: String::from("console"),
}],
};
let response = client.post(url)
.json(&payload)
.send()
.await?;
if response.status().is_success() {
let response_text = response.text().await?;
println!("Response: {}", response_text);
} else {
println!("Error: {}", response.status());
}
Ok(())
}