From 515f086f19aadf4b9fc3d4e5c425a0eef97714e0 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Wed, 14 Feb 2024 14:51:00 +0800 Subject: [PATCH] :sparkles: Compress --- .gitignore | 1 + src/proxies/config.rs | 4 ++-- src/proxies/metrics.rs | 2 +- src/proxies/responder.rs | 7 +++---- src/proxies/server.rs | 3 ++- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d51ebb3..41777c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /config /certs +/test/data /letsencrypt # Added by cargo diff --git a/src/proxies/config.rs b/src/proxies/config.rs index 1f4d935..4194de4 100644 --- a/src/proxies/config.rs +++ b/src/proxies/config.rs @@ -63,13 +63,13 @@ impl Destination { } pub fn get_host(&self) -> &str { - (self + self .uri .as_str() .splitn(2, "://") .collect::>() .get(1) - .unwrap_or(&"")) + .unwrap_or(&"") .splitn(2, '?') .collect::>()[0] } diff --git a/src/proxies/metrics.rs b/src/proxies/metrics.rs index ba5c6c8..e761e97 100644 --- a/src/proxies/metrics.rs +++ b/src/proxies/metrics.rs @@ -42,7 +42,7 @@ impl RoadTrace { ) -> RoadTrace { let mut trace = Self::from_structs(ip, ua, reg, loc, end); trace.error = Some(err); - return trace; + trace } } diff --git a/src/proxies/responder.rs b/src/proxies/responder.rs index fb0d81c..9a82f9d 100644 --- a/src/proxies/responder.rs +++ b/src/proxies/responder.rs @@ -2,12 +2,12 @@ use crate::proxies::ProxyError; use crate::proxies::ProxyError::{BadGateway, UpgradeRequired}; use actix_files::NamedFile; use actix_web::http::{header, Method}; -use actix_web::web::BytesMut; -use actix_web::{web, Error, HttpRequest, HttpResponse}; +use actix_web::{web, HttpRequest, HttpResponse}; use awc::error::HeaderValue; use awc::http::Uri; use awc::Client; -use futures::{channel::mpsc::unbounded, Sink, sink::SinkExt, stream::StreamExt}; +use futures::Sink; +use futures::stream::StreamExt; use std::str::FromStr; use std::time::Duration; use std::{ @@ -18,7 +18,6 @@ use actix::io::{SinkWrite, WriteHandler}; use actix::{Actor, ActorContext, AsyncContext, StreamHandler}; use actix_web_actors::ws; use actix_web_actors::ws::{CloseReason, handshake, ProtocolError, WebsocketContext}; -use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tracing::log::warn; pub async fn respond_hypertext( diff --git a/src/proxies/server.rs b/src/proxies/server.rs index 1195f66..6a71702 100644 --- a/src/proxies/server.rs +++ b/src/proxies/server.rs @@ -1,7 +1,7 @@ use std::error; use actix_web::{App, HttpServer, web}; use actix_web::dev::Server; -use actix_web::middleware::Logger; +use actix_web::middleware::{Compress, Logger}; use awc::Client; use crate::config::CFG; use crate::proxies::route; @@ -28,6 +28,7 @@ pub fn build_single_proxy(cfg: ServerBindConfig) -> Result