use-status 0.0.1

Small HTTP status utilities for RustUse
Documentation
use use_status::{
    StatusClass, is_cacheable_by_default, is_client_error, is_error, is_redirect, is_server_error,
    is_success, reason_phrase, status_class,
};

#[test]
fn looks_up_reason_phrases() {
    assert_eq!(reason_phrase(200), Some("OK"));
    assert_eq!(reason_phrase(404), Some("Not Found"));
}

#[test]
fn detects_status_classes() {
    assert_eq!(status_class(101), Some(StatusClass::Informational));
    assert_eq!(status_class(201), Some(StatusClass::Success));
    assert_eq!(status_class(302), Some(StatusClass::Redirection));
    assert_eq!(status_class(422), Some(StatusClass::ClientError));
    assert_eq!(status_class(503), Some(StatusClass::ServerError));
}

#[test]
fn detects_success_and_redirects() {
    assert!(is_success(204));
    assert!(is_redirect(308));
}

#[test]
fn detects_errors() {
    assert!(is_client_error(404));
    assert!(is_server_error(503));
    assert!(is_error(500));
    assert!(!is_error(200));
}

#[test]
fn detects_default_cacheability() {
    assert!(is_cacheable_by_default(200));
    assert!(is_cacheable_by_default(404));
    assert!(!is_cacheable_by_default(302));
}

#[test]
fn handles_unknown_status_codes() {
    assert_eq!(reason_phrase(999), None);
    assert_eq!(status_class(99), None);
}