Cli reworks | 0.1.1 | Stable
Seperated json creation from cli.rs and added better help message. Also user-friendly message creation
This commit is contained in:
parent
542fc634ad
commit
83d71ac2ac
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -79,7 +79,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cctweaked-messager"
|
name = "cctweaked-messager"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "cctweaked-messager"
|
name = "cctweaked-messager"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
22
src/cli.rs
22
src/cli.rs
@ -2,7 +2,7 @@ use std::{env, process::exit};
|
|||||||
|
|
||||||
use strum::{EnumIter, IntoEnumIterator};
|
use strum::{EnumIter, IntoEnumIterator};
|
||||||
|
|
||||||
use crate::{decoding::{decode_json, CctweakedMessage}, networking::{get_json, send_json}};
|
use crate::{decoding::decode_json, networking::{get_json, send_json}};
|
||||||
|
|
||||||
#[derive(Debug, EnumIter)]
|
#[derive(Debug, EnumIter)]
|
||||||
enum KnownArguments {
|
enum KnownArguments {
|
||||||
@ -28,7 +28,7 @@ pub fn process_cli_args() {
|
|||||||
// Removing execution path probably.
|
// Removing execution path probably.
|
||||||
let args = &args[1..];
|
let args = &args[1..];
|
||||||
|
|
||||||
let arg_type = match args[0].as_str() {
|
let arg_type = match args[0].to_lowercase().as_str() {
|
||||||
"help" => KnownArguments::Help,
|
"help" => KnownArguments::Help,
|
||||||
"--help" => KnownArguments::Help,
|
"--help" => KnownArguments::Help,
|
||||||
"-h" => KnownArguments::Help,
|
"-h" => KnownArguments::Help,
|
||||||
@ -48,14 +48,24 @@ pub fn process_cli_args() {
|
|||||||
fn process_help(_: &[String]) {
|
fn process_help(_: &[String]) {
|
||||||
println!("All posible arguments:");
|
println!("All posible arguments:");
|
||||||
for argument in KnownArguments::iter() {
|
for argument in KnownArguments::iter() {
|
||||||
println!("{:?}", argument);
|
match argument {
|
||||||
|
KnownArguments::Help => println!("{:?} - Shows help message.", argument),
|
||||||
|
KnownArguments::Send => println!("{:?} <content> <msg_type> - sends a cctweaked message to server", argument),
|
||||||
|
KnownArguments::Recieve => println!("{:?} - Fetches cctweaked message from server", argument),
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn process_send(args: &[String]) {
|
fn process_send(args: &[String]) {
|
||||||
let inputed_json: CctweakedMessage = serde_json::from_str(&args[1])
|
if args.len() < 3 {
|
||||||
.expect("Wrong CCTweaked Message. Try to encapsulate it in '' ");
|
println!("Not enough arguments for 'send', please refer to --help");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
let resp = send_json(URL.to_owned(), inputed_json)
|
let input_content = &args[1];
|
||||||
|
let input_type = &args[2].parse::<i32>().expect("Wrong message type");
|
||||||
|
|
||||||
|
let resp = send_json(URL.to_owned(), input_content.to_owned(), *input_type)
|
||||||
.expect("Failed to send json");
|
.expect("Failed to send json");
|
||||||
|
|
||||||
println!("{}, {}", resp.status(), resp.text().unwrap());
|
println!("{}, {}", resp.status(), resp.text().unwrap());
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use reqwest::{blocking::{Client, Response}, Error, StatusCode};
|
use reqwest::{blocking::{Client, Response}, Error, StatusCode};
|
||||||
|
|
||||||
use crate::decoding::CctweakedMessage;
|
use crate::decoding::create_cctweaked_message;
|
||||||
|
|
||||||
pub fn get_json(url: String) -> Result<String, StatusCode> {
|
pub fn get_json(url: String) -> Result<String, StatusCode> {
|
||||||
let resp = reqwest::blocking::get(url)
|
let resp = reqwest::blocking::get(url)
|
||||||
@ -14,7 +14,9 @@ pub fn get_json(url: String) -> Result<String, StatusCode> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn send_json(url: String, message: CctweakedMessage) -> Result<Response, Error> {
|
pub fn send_json(url: String, content: String, msg_type: i32) -> Result<Response, Error> {
|
||||||
|
let message = create_cctweaked_message(content, msg_type);
|
||||||
|
|
||||||
let client = Client::new();
|
let client = Client::new();
|
||||||
let resp = client.post(url)
|
let resp = client.post(url)
|
||||||
.body(serde_json::to_string(&message).expect("Failed to create json from message"))
|
.body(serde_json::to_string(&message).expect("Failed to create json from message"))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user