From 64e17486211c04f72eeed5b4fc63fe6b5701d3a1 Mon Sep 17 00:00:00 2001 From: fakeshadow <24548779@qq.com> Date: Thu, 8 Feb 2024 14:40:11 +0800 Subject: [PATCH] remove default logger middleware. (#928) --- web/CHANGES.md | 1 + web/Cargo.toml | 6 +++++- web/src/handler/types/redirect.rs | 2 +- web/src/server.rs | 25 +++++-------------------- 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/web/CHANGES.md b/web/CHANGES.md index ec8d449d..84376dc2 100644 --- a/web/CHANGES.md +++ b/web/CHANGES.md @@ -5,6 +5,7 @@ ## Remove - remove `xitca_web::error::{BadRequest, Internal}` types. `xitca_web::error::ErrorStatus` replace their roles where `ErrorStatus::bad_request` and `ErrorStatus::internal` would generate identical error information as `BadRequest` and `Internal` types. this change would simplify runtime error type casting a bit with two less possible error types. +- remove default logger middleware from `xitca_web::HttpServer::{bind_xxx, listen_xxx}` APIs. ## Change - change `xitca_web::middleware::eraser::TypeEraser::error`'s trait bound. `From` trait is used for conversion between generic error type and `xitca_web::error::Error`. With this change `Error` does not double boxing itself therefore removing the need of nested type casting when handling typed error. diff --git a/web/Cargo.toml b/web/Cargo.toml index 38e0e983..bb2c2613 100644 --- a/web/Cargo.toml +++ b/web/Cargo.toml @@ -53,7 +53,11 @@ file = ["http-file", "nightly"] # rate-limit middleware rate-limit = ["http-rate"] -# nightly rust required feature +# nightly rust required feature. +# +# IMPORTANT note when utilizing nightly feature: +# nightly feature is unstable and would not take part in semver practice. all breaking change +# origin from it would be seen as non breaking from stable release point of view. nightly = [] # macro code generation diff --git a/web/src/handler/types/redirect.rs b/web/src/handler/types/redirect.rs index 5dbbeb24..7a279298 100644 --- a/web/src/handler/types/redirect.rs +++ b/web/src/handler/types/redirect.rs @@ -55,7 +55,7 @@ impl<'r, C, B> Responder> for Redirect { } fn map(self, res: Self::Response) -> Result { - let location = self.location.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?; + let location = self.location?; let map = (self.status, (LOCATION, location)); Responder::>::map(map, res) } diff --git a/web/src/server.rs b/web/src/server.rs index 32bdcbbc..c23be00a 100644 --- a/web/src/server.rs +++ b/web/src/server.rs @@ -4,7 +4,6 @@ use futures_core::stream::Stream; use xitca_http::{ body::RequestBody, config::{HttpServiceConfig, DEFAULT_HEADER_LIMIT, DEFAULT_READ_BUF_LIMIT, DEFAULT_WRITE_BUF_LIMIT}, - util::middleware::Logger, HttpServiceBuilder, }; use xitca_server::{Builder, ServerFuture}; @@ -180,11 +179,7 @@ where BE: fmt::Debug + 'static, { let config = self.config; - let service = self - .service - .clone() - .enclosed(HttpServiceBuilder::with_config(config)) - .enclosed(Logger::new()); + let service = self.service.clone().enclosed(HttpServiceBuilder::with_config(config)); self.builder = self.builder.bind("xitca-web", addr, service)?; Ok(self) } @@ -200,11 +195,7 @@ where BE: fmt::Debug + 'static, { let config = self.config; - let service = self - .service - .clone() - .enclosed(HttpServiceBuilder::with_config(config)) - .enclosed(Logger::new()); + let service = self.service.clone().enclosed(HttpServiceBuilder::with_config(config)); self.builder = self.builder.listen("xitca-web", listener, service); Ok(self) } @@ -258,8 +249,7 @@ where let service = self .service .clone() - .enclosed(HttpServiceBuilder::with_config(config).openssl(acceptor)) - .enclosed(Logger::new()); + .enclosed(HttpServiceBuilder::with_config(config).openssl(acceptor)); self.builder = self.builder.bind("xitca-web-openssl", addr, service)?; @@ -295,8 +285,7 @@ where let service = self .service .clone() - .enclosed(HttpServiceBuilder::with_config(service_config).rustls(config)) - .enclosed(Logger::new()); + .enclosed(HttpServiceBuilder::with_config(service_config).rustls(config)); self.builder = self.builder.bind("xitca-web-rustls", addr, service)?; @@ -315,11 +304,7 @@ where BE: fmt::Debug + 'static, { let config = self.config; - let service = self - .service - .clone() - .enclosed(HttpServiceBuilder::with_config(config)) - .enclosed(Logger::new()); + let service = self.service.clone().enclosed(HttpServiceBuilder::with_config(config)); self.builder = self.builder.bind_unix("xitca-web", path, service)?; Ok(self) }