Skip to content

Commit

Permalink
feat:error log
Browse files Browse the repository at this point in the history
  • Loading branch information
ltpp-universe committed Jan 4, 2025
1 parent 80d275c commit 158091d
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 41 deletions.
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "hyperlane"
version = "2.20.0"
version = "2.21.0"
edition = "2021"
authors = ["ltpp-universe <root@ltpp.vip>"]
license = "MIT"
Expand All @@ -17,8 +17,8 @@ exclude = [

[dependencies]
color-output = "6.1.4"
http-request = "8.17.0"
http-type = "2.9.0"
http-request = "8.18.0"
http-type = "2.10.0"
hyperlane-log = "0.8.0"
hyperlane-time = "0.0.1"
lombok-macros = "1.5.0"
Expand Down
16 changes: 4 additions & 12 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,13 @@ use hyperlane::*;
fn println(data: &str) {
let binding: String = current_time();
let mut time_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let mut space_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let mut text_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let time_output: Output<'_> = time_output_builder
.text(&binding)
.blod(true)
.bg_color(ColorType::Use(Color::Yellow))
.color(ColorType::Rgb(255, 255, 255))
.build();
let space_output: Output<'_> = space_output_builder
.text(COLON_SPACE_SYMBOL)
.blod(true)
.bg_color(ColorType::Use(Color::Magenta))
.color(ColorType::Rgb(255, 255, 255))
.build();
let text_output: Output<'_> = text_output_builder
.text(data)
.blod(true)
Expand All @@ -50,7 +43,6 @@ fn println(data: &str) {
.build();
OutputListBuilder::new()
.add(time_output)
.add(space_output)
.add(text_output)
.run();
}
Expand Down Expand Up @@ -100,7 +92,7 @@ fn run_server() {

server.middleware(|controller_data| {
let request: Request = controller_data.get_request().clone();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let host: String = stream
.peer_addr()
.and_then(|host| Ok(host.to_string()))
Expand All @@ -120,7 +112,7 @@ fn run_server() {
.log_info("visit path /", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = "404 Not Found".as_bytes().to_vec();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(404)
Expand All @@ -138,7 +130,7 @@ fn run_server() {
.log_info("visit path /request", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = send_request();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(200)
Expand All @@ -157,7 +149,7 @@ fn run_server() {
.log_info("visit path /hello", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = "hello world!".as_bytes().to_vec();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(200)
Expand Down
16 changes: 4 additions & 12 deletions src/cfg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,13 @@ fn test_server_basic_usage() {
fn println(data: &str) {
let binding: String = current_time();
let mut time_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let mut space_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let mut text_output_builder: OutputBuilder<'_> = OutputBuilder::new();
let time_output: Output<'_> = time_output_builder
.text(&binding)
.blod(true)
.bg_color(ColorType::Use(Color::Yellow))
.color(ColorType::Rgb(255, 255, 255))
.build();
let space_output: Output<'_> = space_output_builder
.text(COLON_SPACE_SYMBOL)
.blod(true)
.bg_color(ColorType::Use(Color::Magenta))
.color(ColorType::Rgb(255, 255, 255))
.build();
let text_output: Output<'_> = text_output_builder
.text(data)
.blod(true)
Expand All @@ -28,7 +21,6 @@ fn test_server_basic_usage() {
.build();
OutputListBuilder::new()
.add(time_output)
.add(space_output)
.add(text_output)
.run();
}
Expand Down Expand Up @@ -78,7 +70,7 @@ fn test_server_basic_usage() {

server.middleware(|controller_data| {
let request: Request = controller_data.get_request().clone();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let host: String = stream
.peer_addr()
.and_then(|host| Ok(host.to_string()))
Expand All @@ -98,7 +90,7 @@ fn test_server_basic_usage() {
.log_info("visit path /", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = "404 Not Found".as_bytes().to_vec();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(404)
Expand All @@ -116,7 +108,7 @@ fn test_server_basic_usage() {
.log_info("visit path /request", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = send_request();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(200)
Expand All @@ -135,7 +127,7 @@ fn test_server_basic_usage() {
.log_info("visit path /hello", common_log);
let mut response: Response = controller_data.get_response().clone();
let body: Vec<u8> = "hello world!".as_bytes().to_vec();
let stream: ControllerDataStream = controller_data.get_stream().clone().unwrap();
let stream: ArcTcpStream = controller_data.get_stream().clone().unwrap();
let res: ResponseResult = response
.set_body(body)
.set_status_code(200)
Expand Down
6 changes: 1 addition & 5 deletions src/server/controller_data/type.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
use http_type::*;
use hyperlane_log::*;
use lombok_macros::*;
use std::{net::TcpStream, sync::Arc};

pub type ControllerDataStream = Arc<TcpStream>;
pub type ControllerDataStreamOpt = Option<ControllerDataStream>;

#[derive(Clone, Debug, Lombok)]
pub struct ControllerData {
pub(super) stream: ControllerDataStreamOpt,
pub(super) stream: OptionArcTcpStream,
pub(super) request: Request,
pub(super) response: Response,
pub(super) log: Log,
Expand Down
9 changes: 8 additions & 1 deletion src/server/impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,14 @@ impl Server {
});
if let Err(err) = thread_result {
let _ = tmp_arc.read().and_then(|tem| {
tem.get_log().log_error(format!("{:?}", err), |data| {
let err_str: &str = if let Some(msg) = err.downcast_ref::<&str>() {
msg
} else if let Some(msg) = err.downcast_ref::<String>() {
msg
} else {
&format!("{:#?}", err)
};
tem.get_log().log_error(format!("{}", err_str), |data| {
format!("{}: {}{}", current_time(), data.to_string(), HTTP_BR)
});
Ok(())
Expand Down

0 comments on commit 158091d

Please sign in to comment.