webserver_base/templates/
error.rs1use handlebars::{RenderError, TemplateError};
2use std::fmt::{Debug, Formatter};
3use std::{error, fmt, io};
4
5#[derive(Debug)]
6pub enum TemplateRegistryError {
7 FileIOError(io::Error),
8 TemplateError(TemplateError),
9 RenderError(RenderError),
10}
11
12impl error::Error for TemplateRegistryError {}
13
14impl fmt::Display for TemplateRegistryError {
15 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
16 match self {
17 Self::FileIOError(io_error) => std::fmt::Display::fmt(&io_error, f),
18 Self::TemplateError(template_error) => std::fmt::Display::fmt(&template_error, f),
19 Self::RenderError(render_error) => std::fmt::Display::fmt(&render_error, f),
20 }
21 }
22}
23
24impl From<io::Error> for TemplateRegistryError {
25 fn from(io_error: io::Error) -> Self {
26 Self::FileIOError(io_error)
27 }
28}
29
30impl From<TemplateError> for TemplateRegistryError {
31 fn from(template_error: TemplateError) -> Self {
32 Self::TemplateError(template_error)
33 }
34}
35
36impl From<RenderError> for TemplateRegistryError {
37 fn from(render_error: RenderError) -> Self {
38 Self::RenderError(render_error)
39 }
40}