pub enum ServerError {
Io(Error),
InvalidRequest(String),
NotFound(String),
Forbidden(String),
Custom(String),
}
Expand description
Represents the different types of errors that can occur in the server.
This enum defines various errors that can be encountered during the server’s operation, such as I/O errors, invalid requests, file not found, and forbidden access.
§Examples
Creating an I/O error:
use std::io::{Error, ErrorKind};
use http_handle::ServerError;
let io_error = Error::new(ErrorKind::NotFound, "file not found");
let server_error = ServerError::from(io_error);
assert!(matches!(server_error, ServerError::Io(_)));
Creating an invalid request error:
use http_handle::ServerError;
let invalid_request = ServerError::InvalidRequest("Missing HTTP method".to_string());
assert!(matches!(invalid_request, ServerError::InvalidRequest(_)));
Variants§
Io(Error)
An I/O error occurred.
InvalidRequest(String)
The request received by the server was invalid or malformed.
NotFound(String)
The requested file was not found on the server.
Forbidden(String)
Access to the requested resource is forbidden.
Custom(String)
A custom error type for unexpected scenarios.
Implementations§
Source§impl ServerError
impl ServerError
Sourcepub fn invalid_request<T: Into<String>>(message: T) -> Self
pub fn invalid_request<T: Into<String>>(message: T) -> Self
Creates a new InvalidRequest
error with the given message.
§Arguments
message
- A string slice that holds the error message.
§Returns
A ServerError::InvalidRequest
variant.
§Examples
use http_handle::ServerError;
let error = ServerError::invalid_request("Missing HTTP version");
assert!(matches!(error, ServerError::InvalidRequest(_)));
Sourcepub fn not_found<T: Into<String>>(path: T) -> Self
pub fn not_found<T: Into<String>>(path: T) -> Self
Creates a new NotFound
error with the given path.
§Arguments
path
- A string slice that holds the path of the not found resource.
§Returns
A ServerError::NotFound
variant.
§Examples
use http_handle::ServerError;
let error = ServerError::not_found("/nonexistent.html");
assert!(matches!(error, ServerError::NotFound(_)));
Sourcepub fn forbidden<T: Into<String>>(message: T) -> Self
pub fn forbidden<T: Into<String>>(message: T) -> Self
Creates a new Forbidden
error with the given message.
§Arguments
message
- A string slice that holds the error message.
§Returns
A ServerError::Forbidden
variant.
§Examples
use http_handle::ServerError;
let error = ServerError::forbidden("Access denied to sensitive file");
assert!(matches!(error, ServerError::Forbidden(_)));
Trait Implementations§
Source§impl Debug for ServerError
impl Debug for ServerError
Source§impl Display for ServerError
impl Display for ServerError
Source§impl Error for ServerError
impl Error for ServerError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<&str> for ServerError
impl From<&str> for ServerError
Source§fn from(error: &str) -> Self
fn from(error: &str) -> Self
Converts a string slice into a ServerError::Custom
variant.
This implementation allows for easy creation of custom errors from string literals.
§Arguments
error
- A string slice that holds the error message.
§Returns
A ServerError::Custom
variant.
§Examples
use http_handle::ServerError;
let error: ServerError = "Unexpected error".into();
assert!(matches!(error, ServerError::Custom(_)));