Skip to content
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(())
}
Clone this wiki locally