mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 15:23:28 +00:00
moved rust util functions to use folder structure
This commit is contained in:
@@ -2,10 +2,10 @@ use arma_rs::{arma, Extension, Group};
|
|||||||
mod structs;
|
mod structs;
|
||||||
mod tests;
|
mod tests;
|
||||||
mod websocket;
|
mod websocket;
|
||||||
mod util;
|
|
||||||
mod cot_router;
|
mod cot_router;
|
||||||
mod cot_generator;
|
mod cot_generator;
|
||||||
mod video_stream;
|
mod video_stream;
|
||||||
|
mod utils;
|
||||||
|
|
||||||
#[arma]
|
#[arma]
|
||||||
pub fn init() -> Extension {
|
pub fn init() -> Extension {
|
||||||
@@ -37,9 +37,9 @@ pub fn init() -> Extension {
|
|||||||
.command("message", websocket::message)
|
.command("message", websocket::message)
|
||||||
.command("location", websocket::location)
|
.command("location", websocket::location)
|
||||||
)
|
)
|
||||||
.command("local_ip", util::get_local_address)
|
.command("local_ip", utils::address::get_local_address)
|
||||||
.command("uuid", util::get_uuid)
|
.command("uuid", utils::uuid::get_uuid)
|
||||||
.command("log", util::log_info)
|
.command("log", utils::log::log_info)
|
||||||
.group(
|
.group(
|
||||||
"cot_router",
|
"cot_router",
|
||||||
Group::new()
|
Group::new()
|
||||||
|
|||||||
43
src/util.rs
43
src/util.rs
@@ -1,43 +0,0 @@
|
|||||||
use crate::structs::LogPayload;
|
|
||||||
use log::{error, info, warn};
|
|
||||||
use std::net::{IpAddr, UdpSocket};
|
|
||||||
|
|
||||||
pub fn log_info(data: LogPayload) -> String {
|
|
||||||
match data.status.as_str() {
|
|
||||||
"info" => info!("{}", data.message),
|
|
||||||
"warn" => warn!("{}", data.message),
|
|
||||||
"error" => error!("{}", data.message),
|
|
||||||
_ => error!("{}", "Wrong log call"),
|
|
||||||
}
|
|
||||||
"logged".to_string()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_uuid() -> String {
|
|
||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
let id = Uuid::new_v4().to_string();
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_local_address() -> String {
|
|
||||||
fn get_local_ip() -> Result<IpAddr, String> {
|
|
||||||
let socket = UdpSocket::bind("0.0.0.0:0").map_err(|e| e.to_string())?;
|
|
||||||
socket.connect("8.8.8.8:80").map_err(|e| e.to_string())?;
|
|
||||||
socket
|
|
||||||
.local_addr()
|
|
||||||
.map(|addr| addr.ip())
|
|
||||||
.map_err(|e| e.to_string())
|
|
||||||
}
|
|
||||||
|
|
||||||
let parsed_data = get_local_ip();
|
|
||||||
|
|
||||||
match parsed_data {
|
|
||||||
Ok(ip) => {
|
|
||||||
return format!("ws://{}:4152", ip.to_string());
|
|
||||||
}
|
|
||||||
Err(_) => {
|
|
||||||
return "not provided".to_string();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
23
src/utils/address.rs
Normal file
23
src/utils/address.rs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
use std::net::{IpAddr, UdpSocket};
|
||||||
|
|
||||||
|
pub fn get_local_address() -> String {
|
||||||
|
fn get_local_ip() -> Result<IpAddr, String> {
|
||||||
|
let socket = UdpSocket::bind("0.0.0.0:0").map_err(|e| e.to_string())?;
|
||||||
|
socket.connect("8.8.8.8:80").map_err(|e| e.to_string())?;
|
||||||
|
socket
|
||||||
|
.local_addr()
|
||||||
|
.map(|addr| addr.ip())
|
||||||
|
.map_err(|e| e.to_string())
|
||||||
|
}
|
||||||
|
|
||||||
|
let parsed_data = get_local_ip();
|
||||||
|
|
||||||
|
match parsed_data {
|
||||||
|
Ok(ip) => {
|
||||||
|
return format!("ws://{}:4152", ip.to_string());
|
||||||
|
}
|
||||||
|
Err(_) => {
|
||||||
|
return "not provided".to_string();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
12
src/utils/log.rs
Normal file
12
src/utils/log.rs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
use crate::structs::LogPayload;
|
||||||
|
use log::{error, info, warn};
|
||||||
|
|
||||||
|
pub fn log_info(data: LogPayload) -> String {
|
||||||
|
match data.status.as_str() {
|
||||||
|
"info" => info!("{}", data.message),
|
||||||
|
"warn" => warn!("{}", data.message),
|
||||||
|
"error" => error!("{}", data.message),
|
||||||
|
_ => error!("{}", "Wrong log call"),
|
||||||
|
}
|
||||||
|
"logged".to_string()
|
||||||
|
}
|
||||||
3
src/utils/mod.rs
Normal file
3
src/utils/mod.rs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
pub mod uuid;
|
||||||
|
pub mod address;
|
||||||
|
pub mod log;
|
||||||
7
src/utils/uuid.rs
Normal file
7
src/utils/uuid.rs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
pub fn get_uuid() -> String {
|
||||||
|
use uuid::Uuid;
|
||||||
|
|
||||||
|
let id = Uuid::new_v4().to_string();
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user