about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/lib.rs8
-rw-r--r--src/tests.rs2
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 56d6327e40bf..9caedff31914 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -303,6 +303,14 @@ impl <'a> Request<'a> {
     }
 }
 
+impl <T> Response<T> {
+    /// Check whether the status code of this HTTP response is a
+    /// success (i.e. in the 200-299 range).
+    pub fn is_success(&self) -> bool {
+        self.status >= 200 && self.status < 300
+    }
+}
+
 impl Response<Vec<u8>> {
     /// Attempt to parse the HTTP response body as a UTF-8 encoded
     /// string.
diff --git a/src/tests.rs b/src/tests.rs
index 8067e7cf66e4..cc44ca7b53a0 100644
--- a/src/tests.rs
+++ b/src/tests.rs
@@ -9,7 +9,7 @@ fn test_http_get() {
     let resp = Request::new(Method::Get, "https://httpbin.org/get")
         .send().expect("failed to send request");
 
-    assert_eq!(200, resp.status, "response status should be 200 OK");
+    assert!(resp.is_success(), "request should have succeeded");
 }
 
 #[test]