From d8f82ea1d251dc6b6a9cbcd889f7de950c6871f8 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sun, 23 Aug 2026 13:39:38 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(response):=20Renombra=20W?= =?UTF-8?q?aypoint::as=5Fstr=20a=20as=5Fderef?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/response/waypoint.rs | 6 +++--- tests/waypoint.rs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/response/waypoint.rs b/src/response/waypoint.rs index b42c57c7..08d4f96e 100644 --- a/src/response/waypoint.rs +++ b/src/response/waypoint.rs @@ -75,7 +75,7 @@ impl Waypoint { } /// Devuelve la URL de destino, si se proporcionó una y es una ruta local válida. - pub fn as_str(&self) -> Option<&str> { + pub fn as_deref(&self) -> Option<&str> { self.waypoint.as_deref() } @@ -108,7 +108,7 @@ impl Waypoint { /// ``` pub fn append_to(&self, route: impl Into) -> RoutePath { let mut route = route.into(); - if let Some(d) = self.as_str() { + if let Some(d) = self.as_deref() { route.alter_param("waypoint", d); } route @@ -144,7 +144,7 @@ impl Waypoint { /// } /// ``` pub fn or(&self, fallback: impl Into) -> RoutePath { - match self.as_str() { + match self.as_deref() { Some(d) => RoutePath::new(d.to_owned()), None => fallback.into(), } diff --git a/tests/waypoint.rs b/tests/waypoint.rs index 76422e4e..40112b2e 100644 --- a/tests/waypoint.rs +++ b/tests/waypoint.rs @@ -6,7 +6,7 @@ use pagetop::prelude::*; async fn waypoint_accepts_local_paths() { for path in ["/", "/admin/users", "/admin/users?page=2"] { let w = Waypoint::from(path.to_owned()); - assert_eq!(w.as_str(), Some(path)); + assert_eq!(w.as_deref(), Some(path)); } } @@ -22,7 +22,7 @@ async fn waypoint_rejects_open_redirect_targets() { "javascript:alert(1)", ] { let w = Waypoint::from(target.to_owned()); - assert_eq!(w.as_str(), None, "expected {target:?} to be rejected"); + assert_eq!(w.as_deref(), None, "expected {target:?} to be rejected"); } } @@ -31,7 +31,7 @@ async fn waypoint_deserialize_rejects_open_redirect_targets() { // Reproduces the real entry point (`web::Query`): the value arrives via // deserialization, not through `Waypoint::from(String)` as in the previous test. let w: Waypoint = serde_json::from_str(r#"{"waypoint":"https://evil.example"}"#).unwrap(); - assert_eq!(w.as_str(), None); + assert_eq!(w.as_deref(), None); } // **< Waypoint::or() >*****************************************************************************