From 0cbcc1ea564007dfc7f3d1578d2cdf2e4139f5fd Mon Sep 17 00:00:00 2001 From: Erin Power Date: Mon, 2 Dec 2019 19:14:43 +0100 Subject: [PATCH] Fix Method::is_idempotent --- src/method.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/method.rs b/src/method.rs index 1631de00..e725a68b 100644 --- a/src/method.rs +++ b/src/method.rs @@ -220,8 +220,8 @@ impl Method { /// more words. pub fn is_idempotent(&self) -> bool { match self.0 { - Put | Delete | _ if self.is_safe() => true, - _ => false + Put | Delete => true, + _ => self.is_safe(), } } @@ -423,3 +423,17 @@ fn test_invalid_method() { assert!(Method::from_str("").is_err()); assert!(Method::from_bytes(b"").is_err()); } + +#[test] +fn test_is_idempotent() { + assert!(Method::OPTIONS.is_idempotent()); + assert!(Method::GET.is_idempotent()); + assert!(Method::PUT.is_idempotent()); + assert!(Method::DELETE.is_idempotent()); + assert!(Method::HEAD.is_idempotent()); + assert!(Method::TRACE.is_idempotent()); + + assert!(!Method::POST.is_idempotent()); + assert!(!Method::CONNECT.is_idempotent()); + assert!(!Method::PATCH.is_idempotent()); +}