From b6957ae3af07608d92b7dda1709997a8da77c62b Mon Sep 17 00:00:00 2001 From: sigoden Date: Thu, 2 May 2024 17:02:17 +0800 Subject: refactor: improve serve (#477) --- src/serve.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/serve.rs b/src/serve.rs index d259126..714e8f8 100644 --- a/src/serve.rs +++ b/src/serve.rs @@ -21,7 +21,7 @@ use hyper_util::rt::{TokioExecutor, TokioIo}; use parking_lot::RwLock; use serde::Deserialize; use serde_json::{json, Value}; -use std::{convert::Infallible, sync::Arc}; +use std::{convert::Infallible, net::IpAddr, sync::Arc}; use tokio::{ net::TcpListener, sync::{ @@ -42,6 +42,8 @@ pub async fn run(config: GlobalConfig, addr: Option) -> Result<()> { Some(addr) => { if let Ok(port) = addr.parse::() { format!("127.0.0.1:{port}") + } else if let Ok(ip) = addr.parse::() { + format!("{ip}:8000") } else { addr } @@ -120,6 +122,7 @@ impl Server { res } Err(err) => { + status = StatusCode::BAD_REQUEST; error!("{method} {uri} {} {err}", status.as_u16()); ret_err(err) } @@ -396,7 +399,6 @@ fn ret_err(err: T) -> AppResponse { }, }); Response::builder() - .status(StatusCode::OK) .header("Content-Type", "application/json") .body(Full::new(Bytes::from(data.to_string())).boxed()) .unwrap() -- cgit v1.2.3