diff --git a/pingora-core/src/protocols/http/v2/server.rs b/pingora-core/src/protocols/http/v2/server.rs index 5bd6bc02e..447a4e309 100644 --- a/pingora-core/src/protocols/http/v2/server.rs +++ b/pingora-core/src/protocols/http/v2/server.rs @@ -20,6 +20,7 @@ use h2::server; use h2::server::SendResponse; use h2::{RecvStream, SendStream}; use http::header::HeaderName; +use http::uri::PathAndQuery; use http::{header, HeaderMap, Response}; use log::{debug, warn}; use pingora_http::{RequestHeader, ResponseHeader}; @@ -346,13 +347,19 @@ impl HttpSession { /// Return a string `$METHOD $PATH $HOST`. Mostly for logging and debug purpose pub fn request_summary(&self) -> String { format!( - "{} {}, Host: {}", + "{} {}, Host: {}:{}", self.request_header.method, - self.request_header.uri, self.request_header - .headers - .get(header::HOST) - .map(|v| String::from_utf8_lossy(v.as_bytes())) + .uri + .path_and_query() + .map(PathAndQuery::as_str) + .unwrap_or_default(), + self.request_header.uri.host().unwrap_or_default(), + self.req_header() + .uri + .port() + .as_ref() + .map(|port| port.as_str()) .unwrap_or_default() ) }